roblema de email duplicado do @PHPmailer - declaração condicional com $ mail-> Send ()

Me deparei com um problema bizarro com o PHPmailer (versão 5.1) que estou tentando contornar. Eu já vi um bom feedback aqui, então pensei em tentar. Descobri que quando tento criar uma mensagem de confirmação personalizada com uma declaração condicional baseada em$mail->send(), Recebo e-mails duplicados. Posso duplicá-lo com o script testemail.php genérico que acompanha o download do phpmailer. Aqui está o código:

require '../class.phpmailer.php';<br>try {<br>$mail = new PHPMailer(true); //New instance, with exceptions enabled<br>$mail->SMTPDebug = 1;<br>$mail->IsSMTP(); // tell the class to use SMTP<br>$mail->SMTPAuth = true; // enable SMTP authentication<br>$mail->Port = 25; // set the SMTP server port<br>$mail->Host = "mail.domain.com"; // SMTP server<br>$mail->Username = "username"; // SMTP server username<br>$mail->Password = "password"; // SMTP server password

<pre><code>$mail->IsSendmail(); $mail->From = "[email protected]"; $mail->FromName = "First Last"; $to = "[email protected]"; $mail->AddAddress($to); $mail->Subject = "PHP Mailer test"; $message = "This is a test. \n"; $mail->Body = $message; $mail->Send(); if ($mail->Send()) { echo 'Message has been sent.'; } else { echo "Mailer Error: " . $mail->ErrorInfo; } </code></pre>

} catch (phpmailerException $e) {<br>echo $e->errorMessage();<br>}

O código acima faz eco da confirmação "A mensagem foi enviada", mas depois envia dois e-mails. Se eu comentar o$mail->send() line, ainda recebo a confirmação "a mensagem foi enviada" e recebo apenas uma mensagem. Se eu remover a instrução condicional e deixar o$mail->send() linha comentada, nenhum email é enviad

Por que adicionar uma declaração condicional faz com que um email seja enviado sem chamar o$mail->send() método? Qual é a maneira correta de adicionar uma mensagem de confirmação personalizada?

questionAnswers(1)

yourAnswerToTheQuestion