【问题标题】:Why Sending Email From PHP-Mailer is Slow为什么从 PHP-Mailer 发送电子邮件很慢
【发布时间】:2017-07-05 03:12:59
【问题描述】:

我正在使用 PHP-Mailer。 它工作正常,但发送电子邮件非常慢。 就像一些时间它需要一秒钟来发送电子邮件。但大多数情况下需要超过 2 分钟或更长时间需要 30 分钟。 是否有任何替代的电子邮件发送方法。 或任何在 3 秒或 10 秒内发送邮件的方式。

$mail->Timeout  = 36000;
$mail->Subject = "Registration";
$mail->From = "info@educatorguru.com";
$mail->FromName = "Educatorguru.com";
$mail->AddReplyTo( "info@educatorguru.com" );
$mail->AddAddress( $email );
$mail->Body =$message2;
$mail->IsHTML(true);
$mail->Send();

【问题讨论】:

  • 看起来是服务器问题,代码太简单,无法解决这个问题

标签: php email phpmailer swiftmailer


【解决方案1】:

这是因为我的托管服务器速度很慢,这就是它发送缓慢电子邮件的原因。 现在我改变了我的托管服务器。 现在它工作得很好,谢谢大家

【讨论】:

    【解决方案2】:

    PHPMailer wiki 有 an article on maximising performance when sending in volume,但类似措施也有助于单条消息。

    使用您发布的代码,这意味着您正在使用 PHP 的 mail() 函数发送,该函数使用 sendmail 二进制文件打开与 localhost 的同步 SMTP 连接 - 您可以通过将其添加到您的脚本:

    $mail->isSMTP();
    $mail->Host = 'localhost';
    $mail->SMTPDebug = 2;
    

    这将产生大量带有时间戳的调试输出,因此您将能够看到哪个部分慢。

    替代方法是不以交互方式发送 - 将您的消息存储在“待办事项”列表/队列中,并获得一个 cron 作业或其他进程来获取消息并异步发送它们 - 这意味着您的页面可以立即返回而无需必须等待消息发送。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-01
      相关资源
      最近更新 更多