我们有一个用于支持和帮助票的Rails应用程序。
它在提交请求时向客户发送确认电子邮件。 当我们回复他们的请求时,它也会发送一封电子邮件。 它不接收邮件。
在上周内,有25%的客户停止了回复。 他们认为我们没有回复他们的票(当我们真的是)。
我用我的@ yahoo.com帐户做了一个testing,并在mail.log文件中find了这个:
Jul 9 16:11:45 bighelp postfix/smtp[9051]: BF673324365: host b.mx.mail.yahoo.com[66.196.97.250] said: 451 Message temporarily deferred - [140] (in reply to end of DATA command) Jul 9 16:11:45 bighelp postfix/smtp[9051]: BF673324365: to=<[email protected]>, relay=d.mx.mail.yahoo.com[68.142.202.247]:25, delay=0.73, delays=0.02/0.02/0.64/0.05, dsn=4.0.$
其他非雅虎地址也遇到这种情况。
Rails应用程序在Ubuntu上运行,我们通过以下方式发送:
ActionMailer::Base.delivery_method = :sendmail
我确信服务器不是一个开放的中继。
我还能做些什么来确保我们的大部分电子邮件都能通过?
这个消息通常与灰名单(特别是与雅虎谁似乎这样做给大家在某些点)。 基本上邮件服务器暂时推迟你的第一封邮件,合法的电子邮件服务器将看到这个消息,等待一段时间,然后再试一次。 发送垃圾邮件的服务器往往被设置为只发送大量的邮件而忘了,因此不会再尝试,所以垃圾邮件被丢弃。
为了确保你可以通过灰名单,确保你的邮件服务器被设置为推迟后再试一次,并给它一个合理的时间窗口,通常10-20分钟就足够了。
通过其他一些邮件服务器获得tempfailed并不是完全不寻常的; 你应该预料到这会不时发生。
我想大多数电子邮件提供商(免责声明:我只为一个人工作)会使“坏名声”发件人更频繁地失败。 我们这样做是为了select优先考虑清洁(呃)邮件的资源。 如果您的服务器设法获取其IP地址的信誉不佳,则可能意味着邮件被分类为垃圾邮件,或者由您的应用程序发送,或者来自同一IP地址的其他邮件。
你应该明确地监视你的邮件队列。 您应该对个别交付进行一些审计,以便您可以跟踪它们。
如果您看到大量排队等待发送的邮件,则表示发生了某种错误,无论是在收件人的邮件服务器上,还是以某种方式将邮件列入黑名单/取消优先级。
具体到你如何做这些事情是特定于应用程序的。
在这种特殊情况下,你应该联系雅虎的支持,假设你认为你绝对不会发送垃圾邮件(也不是来自同一个IP的其他人)。
你在这里似乎有两个问题:
WRT#1,我会做以下检查:
WRT#2,我会build议在您的电子邮件中包含一个透明的GIF或特殊标记的标志,将“回家”,回到您的服务器。 是的,这意味着你需要发送HTML电子邮件,是的,有些客户会阻止电子邮件默认检索图像,但是,你会很快看到你的正常响应率,并能够检测是否已经下降。 如果你有高价值的客户,而且你可以看到他们可能没有收到你的答复,你可以主动给他们打电话。
这看起来像是暂时的失败。 后缀应该重试一段时间后再次。 什么是postfix的configuration看起来像? 邮件是否在postfix的邮件队列中结束? 你有Postfixconfiguration为定期检查排队的消息?
你还应该确保你的邮件服务器正确地识别自己(如mail.yourapp.com或其他),并且存在一个PTRlogging将该IP链接到该名称。
此外,您可以添加一个SPFlogging,允许该IP /服务器为您的域发送邮件,所以至less还可以获得SPF:Pass。
+1推荐SPFlogging。 设置反弹邮件处理程序也是一个好主意。