我使用PHPMailer收到两条消息

时间:2018-07-23 08:48:00

标签: php phpmailer

我不明白为什么会有两条消息出现在我的邮件中。 发送功能启动一次,关于成功发送的消息显示一次。

<?php

require('class.phpmailer.php');

    $email = new PHPMailer();
    $email->CharSet = 'UTF-8';
    $email->From      = $_POST['mailmy'];
    $email->FromName  = '«Тэкс»';
    $email->Subject   = 'Ваша новая кухня почти готова.';
    $email->Body      = $_POST['mailText'];
    $email->AddAddress( $_POST['mailMeil']);

    $email->Send(); 
    echo 'Message has been sent';
    if (!$email->send()) {
    echo "Mailer Error: " . $email->ErrorInfo;
} else {
    echo "Message sent!";
}

?>

1 个答案:

答案 0 :(得分:1)

您两次调用send()方法:

$email->Send(); // first time
echo 'Message has been sent';
if (!$email->send()) { // second time

代码完全按照您的指示执行:发送两次。

您应该做的是第一次存储结果并进行测试:

$sent = $email->Send();
echo 'Message has been sent';
if (!$sent) {

顺便说一句:您的echo声明没有任何意义。如果您不知道该消息,则不要告诉用户。