簡體   English   中英

PHPmailer SMTP 連接()失敗

[英]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 -&gt; CLIENT: 334 dXNlcm5hbWU6

除非它做錯了。 它應該發送一個 334 代碼,后跟 base64 編碼值: Username: ,即VXNlcm5hbWU6

相反,它發送username:的 base64 編碼值,即dXNlcm5hbWU6 注意小寫的u 因此,PHPMailer 永遠不會看到適當的 SMTP AUTH 提示並且身份驗證失敗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM