我想使用 rails webapp 发送电子邮件。我设置了一个 exim 服务器,查看日志时,发送成功,但电子邮件实际上没有发送。
我在与另一家 ISP 合作时也遇到了同样的问题。
发件人地址托管在另一个邮件服务器(其他 ISP)上。我认为问题在于,发送不起作用,因为发件人地址不托管在同一台服务器上。你对此有什么建议吗?日志(exim)告诉我以下内容:
2011-01-01 14:38:06 1PZ1eo-0000Ga-38 <= <> R=1PZ1eo-0000GY-1p U=Debian-exim P=local S=1778
2011-01-01 14:38:08 1PZ1eo-0000Ga-38 => [email protected] R=dnslookup T=remote_smtp H=mx1.emailsrvr.com [98.129.184.131] X=TLS1.0:RSA_AES_256_CBC_SHA1:32 DN="C=US,O=mx1.emailsrvr.com,OU=GT21850092,OU=See www.geotrust.com/resources/cps (c)08,OU=Domain Control Validated - QuickSSL(R),CN=mx1.emailsrvr.com"
2011-01-01 14:38:08 1PZ1eo-0000Ga-38 Completed
[email protected]
是外部发件人地址。
编辑更多细节
从命令行发送邮件时:
echo "Test" | mail -s Testmail [email protected]
日志说
2011-01-01 20:45:24 1PZ7OG-0001Vp-Rx <= root@gustav U=root P=local S=360
2011-01-01 20:45:26 1PZ7OG-0001Vp-Rx => [email protected] R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [209.85.229.27] X=TLS1.0:RSA_ARCFOUR_MD5:16 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=mx.google.com"
2011-01-01 20:45:26 1PZ7OG-0001Vp-Rx Completed
我在我的 Gmail 帐户上收到了邮件。
但是当通过 webapp 发送时(当使用 sendmail 进行本地测试时它工作正常)我只得到这个日志输出:
2011-01-01 20:50:08 1PZ7Sq-0001X9-L4 <= <> R=1PZ7Sq-0001X7-Jo U=Debian-exim P=local S=1780
2011-01-01 20:50:11 1PZ7Sq-0001X9-L4 => [email protected] R=dnslookup T=remote_smtp H=mx1.emailsrvr.com [98.129.184.3] X=TLS1.0:RSA_AES_256_CBC_SHA1:32 DN="C=US,O=mx1.emailsrvr.com,OU=GT21850092,OU=See www.geotrust.com/resources/cps (c)08,OU=Domain Control Validated - QuickSSL(R),CN=mx1.emailsrvr.com"
2011-01-01 20:50:11 1PZ7Sq-0001X9-L4 Completed
答案1
R= 表示此邮件为退回邮件,R= 部分中给出的邮件 ID 是失败的原始邮件 ID。您需要查看日志条目那查看生成了什么收件人地址以及失败的原因。
您还可以尝试查看 Exim 认为应该对特定地址执行的操作,并将其添加到命令行以获取更多调试信息(但请注意,可能会有很多内容需要挑选)。exim -bt [email protected]
-d
答案2
一般情况下,发件人地址的位置(或者更准确地说,与发件人地址关联的邮箱的位置)不会影响从运行在不同服务器上的应用程序发送消息/接收消息。但也有例外,例如防晒指数,因此应始终在 DNS 和发送 MTA 日志文件中检查这一点。
您提供的日志文件数据不足以帮助推断问题。传递到的消息[email protected]
不是来自您的 Web 应用程序的消息,而是由实际问题导致的错误(退回的消息)。它被发送到该地址,因为那是消息From
地址。
您需要提供这些之前的日志文件条目,它们可能类似于:
2011-01-01 20:49:00 1PZ7OG-0001W4-22 <=[电子邮件保护]U=Debian-exim P=本地 S=1024