Ruby on rails ActionMailer和Exchange

Ruby on rails ActionMailer和Exchange,ruby-on-rails,smtp,exchange-server,actionmailer,Ruby On Rails,Smtp,Exchange Server,Actionmailer,我使用Rails应用程序和Postfix服务器通过SMTP成功发送邮件。现在,我需要转到Exchange:Microsoft ESMTP邮件服务,版本:6.0.3790.3959,它启用了POP3和SMTP支持 我使用actionmailer 1.2.5,在尝试发送邮件时无法成功登录到服务器 如果我使用Mail.app,只要我将身份验证模式更改为“密码”,发送和接收就可以正常工作。检查服务器时,如下所示: READ Nov 18 10:37:00.509 [kCFStreamSocketSecu

我使用Rails应用程序和Postfix服务器通过SMTP成功发送邮件。现在,我需要转到Exchange:Microsoft ESMTP邮件服务,版本:6.0.3790.3959,它启用了POP3和SMTP支持

我使用actionmailer 1.2.5,在尝试发送邮件时无法成功登录到服务器

如果我使用Mail.app,只要我将身份验证模式更改为“密码”,发送和接收就可以正常工作。检查服务器时,如下所示:

READ Nov 18 10:37:00.509 [kCFStreamSocketSecurityLevelNone]  -- host:mail.my-mail-server-domain.com -- port:25 -- socket:0x11895cf20 -- thread:0x11b036a10
250-mail.my-mail-server-domain.com Hello [xxx.xxx.xxx.xxx]
250-TURN
250-SIZE
250-ETRN
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-8bitmime
250-BINARYMIME
250-CHUNKING
250-VRFY
250-X-EXPS GSSAPI NTLM LOGIN
250-X-EXPS=LOGIN
250-AUTH GSSAPI NTLM LOGIN
250-AUTH=LOGIN
250-X-LINK2STATE
250-XEXCH50
250 OK

WROTE Nov 18 10:37:00.852 [kCFStreamSocketSecurityLevelNone]  -- host:mail.my-mail-server-domain.com -- port:25 -- socket:0x11895cf20 -- thread:0x11b036a10
AUTH LOGIN

READ Nov 18 10:37:01.848 [kCFStreamSocketSecurityLevelNone]  -- host:mail.my-mail-server-domain.com -- port:25 -- socket:0x11895cf20 -- thread:0x11b036a10
235 2.7.0 Authentication successful.
ActionMailer::Base.server_settings = {
    :address => "mail.my-mail-server-domain.com",
    :port => 25,
    :domain => "my-mail-server-domain.com",
    :authentication => :login,
    :user_name => "myusername",
    :password => "mypassword"
}
所以验证方法:登录似乎得到了正确的支持。现在,当谈到我的actionmailer配置时,看起来是这样的:

READ Nov 18 10:37:00.509 [kCFStreamSocketSecurityLevelNone]  -- host:mail.my-mail-server-domain.com -- port:25 -- socket:0x11895cf20 -- thread:0x11b036a10
250-mail.my-mail-server-domain.com Hello [xxx.xxx.xxx.xxx]
250-TURN
250-SIZE
250-ETRN
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-8bitmime
250-BINARYMIME
250-CHUNKING
250-VRFY
250-X-EXPS GSSAPI NTLM LOGIN
250-X-EXPS=LOGIN
250-AUTH GSSAPI NTLM LOGIN
250-AUTH=LOGIN
250-X-LINK2STATE
250-XEXCH50
250 OK

WROTE Nov 18 10:37:00.852 [kCFStreamSocketSecurityLevelNone]  -- host:mail.my-mail-server-domain.com -- port:25 -- socket:0x11895cf20 -- thread:0x11b036a10
AUTH LOGIN

READ Nov 18 10:37:01.848 [kCFStreamSocketSecurityLevelNone]  -- host:mail.my-mail-server-domain.com -- port:25 -- socket:0x11895cf20 -- thread:0x11b036a10
235 2.7.0 Authentication successful.
ActionMailer::Base.server_settings = {
    :address => "mail.my-mail-server-domain.com",
    :port => 25,
    :domain => "my-mail-server-domain.com",
    :authentication => :login,
    :user_name => "myusername",
    :password => "mypassword"
}
我一次又一次地遇到身份验证错误。我也试着改变

    :user_name => "my-mail-server-domain.com\myusername"
    :user_name => "my-mail-server-domain.com\\myusername"
    :user_name => "myusername/my-mail-server-domain.com"
    :user_name => "myusername@my-mail-server-domain.com"
但什么都不管用。有人能帮我吗

问候。
杰森

我想你需要添加

ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
  :domain             => "my-mail-server-domain.com",
  :address            => "mail.my-mail-server-domain.com",
  :port               => 25
  :authentication => :login ,
  :user_name          => 'myusername',
  :password           => 'mypassword',
}

ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.default_charset = "utf-8"
ActionMailer::Base.default_content_type = "text/html"
或者尝试更改您的端口。通常端口25/26被阻止发送电子邮件,一些电子邮件提供商拒绝从使用本地主机smtp的端口25接收电子邮件。 或者您的互联网提供商正在阻止端口25。 如果仍然不起作用,你可以在这里写错误