PHPMailer发送两次
问题描述:
在WordPress主题中继承了一些PHPMailer代码,并且无法弄清楚为什么以下内容会发送两个重复的电子邮件,并在主体中使用相同的时间戳。PHPMailer发送两次
$mail = new PHPMailer;
$mail->From = $_POST['form_email'];
$mail->FromName = $_POST['form_name'];
$mail->addAddress('[email protected]'); // Send email to
$mail->isHTML(true);
$mail->Subject = 'Entry';
$mail->Body = '
<p>Submitted: '.date('d/m/Y H:i:s').'</p>
';
if (!$mail->send()) {
$response->result = false;
}
答
时间戳只有1秒的分辨率,所以它很可能,这是由你的浏览器的双重要求 - 这是一些扩展的通病。这很容易测试 - 贴在你的主题的最后一个随机数:
$mail->Subject = 'Entry '.rand();
如果您的邮件数量是不同的,你就会知道你的脚本被运行两次。
它也不会帮助您伪造发件人地址,这是导致发送问题的好方法 - read the PHPMailer docs。
而不是$ mail使用$ my_mail并检查。 $ mail过于通用的名称可能会被wordpress使用,并且内部可能会有冲突。 –