通过rails / actionmailer上的ruby通过Exchange服务器发送邮件

时间:2011-12-14 22:05:05

标签: ruby-on-rails exchange-server actionmailer

我正在尝试让ActionMailer通过我的MS Exchange服务器发送电子邮件。我可以使用邮件客户端(在同一台机器上)通过Exchange服务器发送/接收邮件。

我必须对邮件客户端做的一件事是将“邮件帐户”设置为使用“mapi”协议。

当我尝试使用ActionMailer发送电子邮件时,它会超时。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

如果您遇到超时,我会开始查看可能存在的网络问题。你说你在同一台机器上使用邮件客户端,但它可能使用不同的端口/协议。

我登录到在rails应用程序上运行ruby的框,并尝试telnet'ing到端口25.你可能会发现你无法连接。如果可以,请尝试使用SMTP来发送消息:

$ telnet mail.example.com 25

220 mail.example.com Microsoft ESMTP MAIL Service, Version: x.x.xxxx.xxxx ready at  Thu, 12 Apr 2012 14:55:10 -0400

HELO yourfqdn.example.com 
MAIL FROM: youruser@example.com
RCPT TO: user@example.com
DATA
(enter message)
.

如果您在尝试提交邮件时无法连接或更换错误,则问题根本不在于代码。

答案 2 :(得分:1)

MAPI!= SMTP

Exchange服务器可以实现多种协议。如果无法telnet到服务器上的端口25,则该服务器上未启用SMTP协议。 SMTP通常仅在与世界其他地方通信的外围服务器上启用。