phpmailer 本地測試提示發送成功,可是郵箱內無法接收
求各位大俠指點,
require_once('class.phpmailer.php');
require_once("class.smtp.php");
$mail = new PHPMailer();
$mail->CharSet ="UTF-8"; //設定郵件編碼,預設ISO-8859-1,如果發中文此項必須設定為 UTF-8
$mail->IsSMTP(); // 設定使用SMTP服務
$mail->SMTPAuth = true; // 啟用 SMTP 驗證功能
$mail->SMTPSecure = "ssl"; // SMTP 安全性通訊協定
$mail->Host = "smtp.163.com"; // SMTP 伺服器
$mail->Port = 465; // SMTP伺服器的連接埠號碼
$mail->Username = "[email protected]"; // SMTP伺服器使用者名稱
$mail->Password = "123456"; // SMTP伺服器密碼
$mail->SetFrom([email protected]', '123456'); // 設定寄件者地址和名稱
$mail->AddReplyTo("[email protected]","123456");
// 設定郵件回複人地址和名稱
$mail->Subject = ''; // 設定郵件標題
$mail->AltBody = "為了查看該郵件,請切換到支援 HTML 的郵件用戶端";
// 可選項,向下相容考慮
$mail->MsgHTML('Hello, 簡體,繁體!!'); // 設定郵件內容
$mail->AddAddress([email protected]', "123456");
$mail->SMTPDebug=true ;
//$mail->AddAttachment("images/phpmailer.gif"); // 附件
if(!$mail->Send()) {
echo "發送失敗:" . $mail->ErrorInfo;
} else {
echo "恭喜,郵件發送成功!";
}
?>
------解決方案--------------------
$mail->Port = 465; // SMTP伺服器的連接埠號碼
為什麼不用 25 連接埠呢?
------解決方案--------------------
注釋掉這兩句
$mail->SMTPSecure = "ssl"; // SMTP 安全性通訊協定
$mail->Port = 465; // SMTP伺服器的連接埠號碼