我有一個使用 PHPMailer 制作的聯系表格。從今天開始一直在作業,然后突然停止作業。我試圖理解為什么,我發現我每次都會收到關于發件人的錯誤,正如它所說的那樣,這是不允許的。這是代碼:
try {
$mail->SMTPDebug = 2;
$mail->isSMTP();
$mail->Host = 'smtps.aruba.it';
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'myPassword';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom("[email protected]", 'Sender'); // Here is where I put the sender email
$mail->addAddress('[email protected]');
$mail->isHTML(true);
$mail->Subject = "Subject";
$mail->Body = "Body";
if (!$mail->send()) {
$result = array('status'=>"error", 'message'=>"Mailer Error: ".$mail->ErrorInfo);//
print_r(json_encode($result));
} else {
$result = array('status'=>"success", 'message'=>"Message sent.");
print_r(json_encode($result));
}
}
catch (Exception $e) {
echo "Error excpetion: ".$e;
}
這是我從除錯中得到的錯誤:
以下發件人地址失敗:[email protected]:MAIL FROM 命令失敗,<[email protected]> ik2dozQHmuz2mik2doPsAn - Mittente non consentito / Sender not allowed (mail from )
我嘗試更新 PHPMailer,現在我有了最新版本。此外,我嘗試使用我擁有的 Outlook.it 電子郵件,但再次出現同樣的錯誤。從今天開始就完美運行,你能幫我嗎?
uj5u.com熱心網友回復:
服務器管理員很可能今天應用了反電子郵件欺騙策略,所以昨天它有效,但今天它不允許您通過 smtps.aruba.it 作為發件人“[email protected]”發送
正確的方法是將您的“發件人”地址更改為 [email protected],但如果您希望收件人回復您的電子郵件但將其發送到 [email protected],則添加以下內容
$mail->ClearReplyTos();
$mail->addReplyTo('[email protected]', 'your name in gmail');
或者,使用 gmail smtp 服務器通過 PHPMailer 發送電子郵件(您可以參考官方鏈接:https ://support.google.com/a/answer/176600?hl= en 了解所需的 smtp 設定)
如果您在使用 gmail smtp 時遇到其他問題,您可能還希望參考此 SO 帖子(或其他相關帖子)
PHPMailer 不適用于 Gmail SMTP
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/515976.html
