I heard from a contractor recently who is dealing with a hostile owner who vents via email. Not in person, mind you, just in writing. That is not acceptable behavior from anyone, and you don’t have to accept it.
In your contracts (every contract, regardless of the size) add language that lets them know you will not respond to nasty or abusive emails or phone calls. If the folks have a problem, they must call you and set a time to meet face-to-face to get issues resolved. Before you let them sign the contract, review that clause with them so they can’t claim you are doing anything other than what it says in the agreement.
Now, this means you have to do the tough work, and meet face to face with an angry customer. Will you always be able to solve the problems when you meet with them? Of course not, but you can at least part company at a neutral level with no knots in your stomach. It’s much better than letting someone, hiding behind a keyboard, dump a wad of crap on your plate on a regular basis. People will be far less likely to be hostile in a face-to-face meeting, and you stand a much better chance of resolving the issues. And that’s the only way you can move forward.