我每天在瀏覽器中調用此PHP頁面發送報告。它(經常)發送兩次郵件(即使我確保每次都打開一個新標籤)。php郵件發送2份
代碼有什麼問題+我該如何防止它?
下面是代碼:
<?php
require ("/home/phpmailer/PHPMailer-master/PHPMailerAutoload.php");
$mail = new PHPMailer;
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'localhost'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = '[email protected]'; // SMTP username
$mail->Password = 'PASSWORD'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to
$mail->From = '[email protected]';
$mail->FromName = 'FROM NAME';
$mail->ClearAddresses();
$mail->addAddress('[email protected]', 'CLARA'); // Add a recipient
$mail->addCC('[email protected]@ABC.com', 'TOM'); // Add a CC recipient
$mail->addReplyTo('[email protected]', 'Info');
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'EMAIL SUBJECT TITLE';
$mail->Body = file_get_contents('http://ADDRESS-OF-THE-FILE.PHP');
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
$mail->ClearAddresses();
}
?>
使用cron或者類似的調度服務,以確保它只被稱爲每天一次。上面的PHP代碼看起來很好,所以如果您收到多封電子郵件,那麼您的頁面幾乎肯定會每天發生超過一次。 – Here2Help
並放置在webroot之外,因此無法通過瀏覽器或機器人調用 – 2016-03-01 20:06:40
「通過放置webroot」實際上意味着什麼? – SamanthaAlexandria