I have a self-hosted Discourse install and use socketlabs.com as my SMTP server (they have a free plan with 40000. I was unable to get emails to work no matter what authentication protocol I used.
I was able to fix the problem by modifying lib/tasks/emails.rake as follows:
Change the line:
Net::SMTP.start(smtp[:address], smtp[:port], 'localhost', smtp[:user_name], smtp[:password])
to
Net::SMTP.start(smtp[:address], smtp[:port], 'localhost', smtp[:user_name], smtp[:password], smtp[:authentication])
Without this setting, the lower level SMTP code appears to revert to the default of ‘plain’ authentication.