I have been grappling with using SMTP in WordPress. For a while, it worked fine using an SMTP plug-in. The problem manifested itself by rejecting emails sent from a WordPress blog. In tracing the problem, debug told me I had a 550 error: recipient email address not found (which is not true). Finally, putting the same email address in “sender email” as in SMTP user name solved the problem.
I believe it is related to SPF (sender policy framework) record used by my host to prevent spamming. That is, the sending email address must be the same as the one that shows up in the ‘from’ email address. SPF prevents someone from putting a bogus email address in the ‘from’. Most major SMTP hosts and email companies use SPF (Google/gmail, yahoo, hotmail…).