我正在使用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();
答案 0 :(得分:4)
PHPMailer wiki有an article on maximising performance when sending in volume,但类似的措施也可以帮助单个消息。
使用您发布的代码,这意味着您使用PHP的mail()
函数进行发送,该函数使用sendmail二进制文件打开与localhost的同步SMTP连接 - 您可以帮助调试&# 39; s实际上通过将其添加到您的脚本中来解决问题:
$mail->isSMTP();
$mail->Host = 'localhost';
$mail->SMTPDebug = 2;
这将产生大量带有时间戳的调试输出,因此您将能够看到哪个部分很慢。
替代方法是不以交互方式发送 - 将您的消息存储在'做' list / queue并获取一个cron作业或其他进程来接收消息并异步发送 - 这意味着您的页面可以立即返回,而无需等待消息发送。
答案 1 :(得分:0)
这是因为我的托管服务器速度很慢,这就是为什么它发送邮件的速度慢。 现在我改变我的托管服务器。 现在它的工作非常好,谢谢每一个