2016-11-30 87 views
0

在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; 
} 
+0

而不是$ mail使用$ my_mail并检查。 $ mail过于通用的名称可能会被wordpress使用,并且内部可能会有冲突。 –

回答

0

时间戳只有1秒的分辨率,所以它很可能,这是由你的浏览器的双重要求 - 这是一些扩展的通病。这很容易测试 - 贴在你的主题的最后一个随机数:

$mail->Subject = 'Entry '.rand(); 

如果您的邮件数量是不同的,你就会知道你的脚本被运行两次。

它也不会帮助您伪造发件人地址,这是导致发送问题的好方法 - read the PHPMailer docs