Maybe it's because you are at ease here or I have not been around much; you hardly seem cold. Quite the contrary actually.
Two ideas, if I may be so bold.
1.) Instead of trying to keep them away have you tried keeping them around? At the least those who show respect.
2.) There is nothing wrong with being nice. But you have a voice and certainly important opinions. Be nice, be polite always. You can be those and let others know you're not as you have labeled yourself - a doormat. Example: Simplicity, a simple "no thanks" or "not today" in a polite tone can aid in certain situations. Bah, you know all this already. :
![Eek! :eek: :eek:](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
: