mail()是一个黑盒子.您告诉PHP尝试发送邮件,但主机已配置PHP以执行此操作.
它很可能只是在你的情况下调用sendmail.该机器上的邮件队列也很可能不是世界上最快的.共享主机通常超载.
您应该做的第一件事是询问您的主机邮件延迟.也许出了点问题,他们可以修复它.或者他们可能只是告诉你一分钟不等很长时间.
还有很多其他选项,主要是以向您提供SMTP服务的公司的形式.我不推荐一个,但我可以建议你跳到你最喜欢的搜索引擎,并寻找"smtp服务".我最近开始使用Amazon Simple Email Service.它应该是快速和良好的维护,它肯定是便宜的.
所有这些选项可能需要对您进行一些配置更改.例如,您需要设置自定义DNS记录(对于DKIM和SPF),以确保来自第三方提供商的邮件不会自动标记为垃圾邮件.
使用SMTP与PHP很容易.那里有很多邮件生成选项.我个人最喜欢的是SwiftMailer.它甚至还有Amazon SES的传输选项.
当然,最后一个选项是抓取您自己的虚拟专用服务器或专用服务器,这样您就可以根据需要配置外发邮件,但需要知道如何维护该服务器.
编辑:相关编码恐怖帖的强制性链接.