[英]PHPmailer SMTP connect() failed
我在嘗試發送電子郵件時收到此消息。
Connection: opening to smtp.163.com:25, t=300, opt=array ()
Connection: opened
SERVER -> CLIENT: 220 163.com Anti-spam GT for Coremail System (163com[20141201])
CLIENT -> SERVER: EHLO localhost
SERVER -> CLIENT: 250-mail250-PIPELINING250-AUTH LOGIN PLAIN250-AUTH=LOGIN PLAIN250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2Ur83fsGUCa0xDrUUUUj250-STARTTLS250 8BITMIME
CLIENT -> SERVER: AUTH LOGIN
SERVER -> CLIENT: 334 dXNlcm5hbWU6
CLIENT -> SERVER: xxx
SERVER -> CLIENT: 334 UGFzc3dvcmQ6
CLIENT -> SERVER: xxx=
CLIENT -> SERVER: QUIT
SERVER -> CLIENT: 221 Bye
Connection: closed<br>
SMTP connect() failed.
Mailer Error: SMTP connect() failed.
代碼 :
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = "smtp.mydomain.com";
$mail->Port = 25;
$mail->SMTPAuth = true;
$mail->Username = "user@mydomain.com";
$mail->Password = "xxxxxxxx";
$mail->setFrom('user@xxx.com', 'user');
$mail->addAddress('user@xxx.com', 'user');
$mail->Subject = 'PHPMailer SMTP test';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
如果您使用 Godaddy 等服務提供商托管,則不允許您使用 SMTP 身份驗證。請檢查。 如果沒有,您需要檢查您的端口地址。 首先在您的本地主機中嘗試使用 google smtp。
問題在於使用不了解 RFC 的郵件軟件。 在這里,服務器提示客戶端輸入用戶名:
SERVER -> CLIENT: 334 dXNlcm5hbWU6
除非它做錯了。 它應該發送一個 334 代碼,后跟 base64 編碼值: Username:
,即VXNlcm5hbWU6
。
相反,它發送username:
的 base64 編碼值,即dXNlcm5hbWU6
。 注意小寫的u
。 因此,PHPMailer 永遠不會看到適當的 SMTP AUTH 提示並且身份驗證失敗。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.