【问题标题】:PHP Mail function taking 60+ seconds to execute (using sendmail)PHP Mail 函数需要 60 多秒才能执行(使用 sendmail)
【发布时间】:2012-03-19 13:03:20
【问题描述】:

所以我刚搬到一个新的 VPS 主机,PHP 邮件功能基本上永远不会结束(虽然奇怪的是它通常会发送电子邮件)。

我在我的 php.ini 中设置了这个: sendmail_path = /usr/sbin/sendmail -i -t

有人知道为什么要花这么长时间吗?我什至设置了一个开始/结束变量并打印了中间的时间,实际上是 60 秒。

有人有什么想法吗?

【问题讨论】:

  • 也许这是您的主机反垃圾邮件措施。您应该联系您的房东。
  • 我最好的猜测是 DNS 查找中的错误配置,很可能是 sendmail 尝试查找自己的主机名的方式。不过这个问题更适合Serverfault
  • 这可能有道理,我没有正确设置主机名.. 我检查了主机我知道不是那个
  • 如果您对 VPS 有 shell 访问权限,您可以尝试从命令行运行 sendmail 来发送电子邮件。这将缩小 sendmail 本身或 PHP 的延迟来源。
  • 您使用的是哪个版本的 PHP/sendmail?您有要发送的示例消息吗?

标签: php email sendmail


【解决方案1】:

php 中的邮件函数是脚本很慢,但 60 秒太多了。最好的方法是将要发送的邮件插入数据库中,稍后通过 cron 发送(每 2 分钟一次)。使用邮件队列技术。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-24
    • 2017-05-31
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多