【问题标题】:Fast email delivery快速的电子邮件传递
【发布时间】:2011-03-12 07:53:06
【问题描述】:

我有一个网站,它通过 cloudmailin 接收传入的电子邮件,将内容添加到数据库中,然后将确认电子邮件发送回给发送电子邮件的人。目前我正在使用 php mail() 函数来发送回复,但实际到达用户的收件箱似乎需要大约 1.5 分钟。有没有办法让这更即时?我目前在 FatCow 上托管应用程序,我确信它与他们的邮件服务器有关,但我不太了解它是如何工作的,我想知道是否必须更改主机以实现更快的交付时间或者我可以在不切换的情况下做任何事情。

【问题讨论】:

    标签: php email


    【解决方案1】:

    mail() 是一个黑盒子。您告诉 PHP 尝试发送邮件,但主机已配置 PHP 这样做。

    很可能它只是在你的情况下调用 sendmail。这台机器上的邮件队列也很可能不是世界上最快的。共享主机经常超载。

    您应该做的第一件事是询问您的主机有关邮件延迟的问题。也许有些地方出了问题,他们可以修复它。或者他们可能只是告诉你,一分半钟的等待时间并不长。

    还有很多其他选择,主要是为您提供 SMTP 服务的公司。我不能推荐一个,但我可以建议你跳到你最喜欢的搜索引擎并寻找“smtp 服务”。我最近开始使用Amazon Simple Email Service。它应该是快速且维护良好的,而且肯定不贵。

    所有这些选项都可能需要您进行一些配置更改。例如,您需要设置自定义 DNS 记录(用于 DKIMSPF)以确保来自第三方提供商的邮件不会被自动标记为垃圾邮件。

    在 PHP 中使用 SMTP 非常简单。那里有很多邮件生成选项。我个人最喜欢的是SwiftMailer。它甚至还有一个transport option for Amazon SES

    当然,最后一个选项是使用您自己的虚拟专用服务器或专用服务器,这将让您根据需要配置外发邮件,但需要知道如何维护该服务器。


    编辑:Obligatory link to relevant Coding Horror post

    【讨论】:

    • 我最终使用了 sendgrid,它的运行速度比常规的 mail() 命令快得多。我也在使用 phpmailer,这使得设置 smtp 配置变得非常容易。 Amazon SES 和 swiftmailer 也很好用
    猜你喜欢
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    • 2020-12-26
    • 1970-01-01
    • 2011-10-22
    相关资源
    最近更新 更多