Usually this is caused by some complex spam-fighting filters on the remote server incorrectly flagging your messages.
To solve this you should:
1. Report your mail as NOT-SPAM to the remote server. There should be such an option in the mail interface of the remote server.
2. Ask the recipient to add your mail address to his / her contact list in Yahoo / Hotmail / Gmail