[英]PHPmailer not working recipient
我有一個問題,我的代碼在下面,我收到此錯誤消息:無法發送消息。Mailer錯誤:SMTP錯誤:以下收件人失敗:!被檢查!
我查看了主機,端口,用戶名,密碼,收件人,所有信息都正確,這是什么問題? 謝謝!
您能否解釋一下Cuz Im是PHP編碼的新手?
<?php
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['amne'];
$message = $_POST['message'];
//$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = '!Censored!'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = '!Censored!'; // SMTP username
$mail->Password = '!Censored!'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to
$mail->From = $email;
$mail->FromName = $name;
$mail->addAddress('!Censored!'); // Add a recipient
$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = $subject;
$mail->Body = $message;
$mail->AltBody = $message;
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
編輯:我發現了問題,問題不在php代碼本身。 它是聯系方式。 當我將變量用作名稱和電子郵件時,問題開始了。 如果電子郵件未通過驗證,則無法使用。
此錯誤可能是由幾件不同的事情引起的。 通過將以下行添加到PHPMailer腳本中,可以更好地了解原因:
$mail->SMTPDebug = 2; //<-- For debugging
完成此操作后,您可以檢查可能導致錯誤的以下情況:
1.)損壞的class.phpmailer.php文件。
2.)錯誤可能是由您的ISP進行的保護所引起的。 與他們核對。
3.)收件人/發件人的電子郵件地址可能有問題。
4.)將PHPMailer類的SMTPAuth設置為true。
5.)在PHPMailer腳本中注釋掉以下行:$ mail-> isSMTP();
通常,您的phpmailer
類文件可能已損壞。
下載最新版本: https : //github.com/PHPMailer/PHPMailer
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.