我有一个网站通过cloudmailin接收传入的电子邮件,将内容添加到数据库,然后将确认电子邮件发回给发送电子邮件的人。目前我正在使用php mail()函数发送回复,但实际到达用户的收件箱似乎需要大约1.5分钟。有没有办法让这更快?我当前正在FatCow上托管应用程序,我确定它与他们的邮件服务器有关,但我真的不知道它是如何工作的,我想知道我是否必须更改主机以实现更快的交付时间或者如果我可以在不切换的情况下做任何事情。
答案 0 :(得分:5)
mail()
是一个黑盒子。您告诉PHP尝试发送邮件,但主机已配置PHP来执行此操作。
很可能它只是在你的情况下调用sendmail。 很可能该机器上的邮件队列不是世界上最快的。共享主机通常会过载。
您应该做的第一件事是向您的主人询问邮件延迟。也许出了点问题,他们可以修复它。或者他们可能会告诉你,一分半钟的等待时间不长。
很多其他选项,主要是以向您提供SMTP服务的公司形式。我不推荐一个,但我可以建议你跳到你最喜欢的搜索引擎,并寻找“smtp服务”。我最近开始使用Amazon Simple Email Service。它应该是快速且维护良好的,而且它当然便宜。
所有这些选项可能需要对您进行一些配置更改。例如,您需要设置自定义DNS记录(适用于DKIM和SPF),以确保来自第三方提供商的邮件不会自动标记为垃圾邮件。
使用SMTP与PHP很容易。那里有很多邮件生成选项。我个人最喜欢的是SwiftMailer。它甚至有一个transport option for Amazon SES。
当然,最后一个选项是抓取您自己的虚拟专用服务器或专用服务器,这样您就可以根据需要配置外发邮件,但需要知道如何维护该服务器。