2016-02-12 90 views
1

我不知道我在做什麼錯或發生了什麼,但我對發生了什麼感到困惑。某些原因,我爲pop-> Authorize傳遞的完全相同的登錄信息在SMTP級別上被拒絕?PHPMailer身份驗證問題

這裏是我的連接代碼

$username = '[email protected]'; 
$password = 'mypass'; 
$server = 'mail.mydomain.com'; 

$pop = new POP3(); 
$pop->Authorise($server, 110, 30, $username, $password, 1); 


$mail = new PHPMailer; 

$mail->SMTPDebug = 2;        // Enable verbose debug output 
echo "starting mailer..<br/>"; 
$mail->isSMTP();          // Set mailer to use SMTP 
$mail->Host = $server; // Specify main and backup SMTP servers 
$mail->SMTPAuth = true; 
$mail->SMTPSecure = 'tls';        // Enable SMTP authentication 
$mail->Username = $username;     // SMTP username 
$mail->Password = $password;       // SMTP password 
$mail->Port = 587;         // TCP port to connect to 

$mail->setFrom('[email protected]', 'Mailer'); 
$mail->addAddress('[email protected]', 'Joe User');  // Add a recipient 
$mail->isHTML(true);         // Set email format to HTML 

$mail->Subject = 'Here is the subject'; 
$mail->Body = 'This is the HTML message body <b>in bold!</b>'; 
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; 

if(!$mail->send()) { 
    echo 'Message could not be sent.'; 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
} else { 
    echo 'Message has been sent'; 
} 

下面是結果...

Server -> Client: +OK POP3 server ready <[email protected]> Server -> Client: +OK User:'[email protected]' ok Server -> Client: +OK Password ok 

由上述可知,它是使用POP登錄

2016-02-12 16:38:05 SERVER -> CLIENT: 220-a2ls11.hosting.com ESMTP Exim 4.85 #2 Fri, 12 Feb 2016 11:38:05 -0500 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail. 
2016-02-12 16:38:05 CLIENT -> SERVER: EHLO mydomain.com 
2016-02-12 16:38:05 SERVER -> CLIENT: 250-a2ls11.hosting.com Hello a2ls11.hosting.com [75.98.175.122] 250-SIZE 52428800 250-8BITMIME 250-PIPELINING 250-AUTH PLAIN LOGIN 250-STARTTLS 250 HELP 
2016-02-12 16:38:05 CLIENT -> SERVER: STARTTLS 
2016-02-12 16:38:05 SERVER -> CLIENT: 220 TLS go ahead 
2016-02-12 16:38:05 CLIENT -> SERVER: EHLO mydomain.com 
2016-02-12 16:38:05 SERVER -> CLIENT: 250-a2ls11.hosting.com Hello a2ls11.hosting.com [75.98.175.122] 250-SIZE 52428800 250-8BITMIME 250-PIPELINING 250-AUTH PLAIN LOGIN 250 HELP 
2016-02-12 16:38:05 CLIENT -> SERVER: AUTH LOGIN 
2016-02-12 16:38:09 SERVER -> CLIENT: 334 VXNlcm5hbWU6 
2016-02-12 16:38:09 CLIENT -> SERVER: xxx 
2016-02-12 16:38:09 SERVER -> CLIENT: 334 UGFzc3dvcmQ6 
2016-02-12 16:38:09 CLIENT -> SERVER: yyy 
2016-02-12 16:38:11 SERVER -> CLIENT: 535 Incorrect authentication data 
2016-02-12 16:38:11 SMTP ERROR: Password command failed: 535 Incorrect authentication data 
2016-02-12 16:38:11 SMTP Error: Could not authenticate. 2016-02-12 16:38:11 CLIENT -> SERVER: QUIT 
2016-02-12 16:38:11 SERVER -> CLIENT: 221 a2ls11.hosting.com closing connection 
2016-02-12 16:38:11 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting Message could not be sent.Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting 

我的意思是明確接受我究竟做錯了什麼?我無法理解我的生活。我甚至嘗試過使用和不使用SMTPSecure。我嘗試了端口25而不是587,但端口587與我在outlook中使用的端口完全相同。我很難過。

+0

您登錄憑據作爲base64字符串嵌入在該轉儲中。你最好去改變你的密碼**立即**。 –

+0

哎呀大聲笑感謝提供 – eqiz

+0

但嘿,至少你的密碼(不是)「hunter42」或「密碼」... –

回答

1

顯然這個問題是因爲我擁有它的主機實際上不允許連接到外部SMTP服務器。瘋狂的事情是,我沒有從日誌中得到錯誤,如上所示,它的行爲就像登錄信息不正確。我證實這是通過完全上傳這個信息到另一臺服務器的情況,它工作正常。

+1

這是涵蓋在PHPMailer故障排除指南,它提到你應該檢查你是否實際上連接到你認爲你是的服務器。 – Synchro