我使用我的 Rails 应用程序和我的 Postfix 服务器通过 SMTP 成功发送邮件。现在我需要迁移到 Exchange:Microsoft ESMTP MAIL Service,版本: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.
所以身份验证方法 :login 似乎得到了适当的支持。现在,当谈到我对 actionmailer 的配置时,它看起来像这样:
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"
但没有任何效果。谁能帮我?
问候。杰森