Cannot get ActionMailer working with MS Exchange via SMTP

Here’s my simple test program (using ActionMailer 3.0.8, Ruby 1.9.2p180 Mac OS X):

require 'rubygems'
require 'action_mailer'

ActionMailer::Base.delivery_method = :smtp

ActionMailer::Base.smtp_settings = {
    :address => "my_exchange_server",
    :port => 25,
    :domain => 'my_domain.org',
    :authentication => :login,
    :user_name => 'my_user',
    :password => 'my_password',
    :enable_starttls_auto => false
}

ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.default :from => 'from_email@my_company.com'

m = ActionMailer::Base.mail :to => 'to_email@my_company.com', :subject => 'this is a test', :body => 'this is a test'
m.deliver

Trying various authentication types I get the following errors:

:plain error:

smtp.rb:966:in `check_auth_response': 504 5.7.4 Unrecognized authentication type. (Net::SMTPAuthenticationError)

:login error:

smtp.rb:972:in `check_auth_continue': 504 5.7.4 Unrecognized authentication type. (Net::SMTPSyntaxError)

:cram_md5 error:

smtp.rb:972:in `check_auth_continue': 504 5.7.4 Unrecognized authentication type. (Net::SMTPSyntaxError)

No authentication error:

protocol.rb:135:in `read_nonblock': end of file reached (EOFError)

Any ideas?

Answer

Check what authentication schemes are enabled

It could be: none, plain, login, cram_md5, NTLM, StartTLS

  • Using Telnet to connect to Exchange 2003 POP3 mailboxes and using SMTP to send e-mail for troubleshooting purposes
    • http://www.msexchange.org/tutorials/telnet-exchange2003-pop3-smtp-troubleshooting.html
      • Scroll down to: Connecting to SMTP
      • What did EHLO return?
        • 250-AUTH LOGIN” or “250-AUTH=LOGIN” indicate that you need to authenticate.
        • 250-AUTH” (with nothing else following on that line!) seems to indicate that you should NOT authenticate yourself! Otherwise you will get the error:
          • “504 5.7.4 Unrecognized authentication type”

How to properly access Exchange

Good resources that should help you to understand and troubleshoot it.

How you could change Exchange to fix the problem

(instead of changing how you access Exchange)

Redmine specific

Helpful for Ruby on Rails

Attribution
Source : Link , Question Author : Edward J. Stembler , Answer Author : Community

Leave a Comment