2009-10-08 61 views
0

我越來越想從Web服務器上運行發送電子郵件時,出現以下錯誤W2K服務器2003年smtp.mail.emea.microsoftonline.comPHPMailer的問題連接到smtp.mail.emea.microsoftonline.com

SMTP -> FROM SERVER:220 smtp.mail.emea.microsoftonline.com Microsoft ESMTP MAIL Service ready at Thu, 8 Oct 2009 01:00:53 -0700 
SMTP -> FROM SERVER: 250-smtp.mail.emea.microsoftonline.com Hello [78.109.167.122] 250-SIZE 31457280 250-PIPELINING 250-DSN 250-ENHANCEDSTATUSCODES 250-STARTTLS 250-AUTH 250-8BITMIME 250-BINARYMIME 250 CHUNKING 
SMTP -> ERROR: AUTH not accepted from server: 504 5.7.4 Unrecognized authentication type 
SMTP -> FROM SERVER:250 2.0.0 Resetting 
SMTP Error: Could not authenticate. 

任何人都可以發現什麼是錯的?我已在以下php.ini中設置好:

[mail function] 
; For Win32 only. 
SMTP = smtp.mail.emea.microsoftonline.com 
smtp_port = 587 
; For Win32 only. 
sendmail_from = [email protected] 

require_once('class.phpmailer.php'); 

$mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch 

$mail->IsSMTP(); // telling the class to use SMTP 

try { 
    $mail->Host  = "smtp.mail.emea.microsoftonline.com"; // SMTP server 
    $mail->SMTPDebug = 2;      // enables SMTP debug information (for testing) 
    $mail->SMTPAuth = true;     // enable SMTP authentication 
    //$mail->SMTPSecure = "ssl";     // sets the prefix to the servier 
    $mail->Port  = 587;     // set the SMTP port for the server 
    $mail->Username = "[email protected]"; // username 
    $mail->Password = "Password";   // password 
    $mail->AddReplyTo('[email protected]', 'First Last'); 
    $mail->AddAddress('[email protected]', 'John Doe'); 
    $mail->SetFrom('[email protected]', 'First Last'); 
    $mail->AddReplyTo('[email protected]', 'First Last'); 
    $mail->Subject = 'PHPMailer Test Subject via mail(), advanced'; 
    $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically 
    $mail->MsgHTML(file_get_contents('examples/contents.html')); 
    $mail->Send(); 
    echo "Message Sent OK</p>\n"; 
} catch (phpmailerException $e) { 
    echo $e->errorMessage(); //Pretty error messages from PHPMailer 
} catch (Exception $e) { 
    echo $e->getMessage(); //Boring error messages from anything else! 
} 
+0

從日誌,它似乎缺少認證協議。可能會嘗試http://stackoverflow.com/questions/16346490/phpmailer-cant-connect-to-smtp-server?rq=1? – scalopus 2013-09-08 09:12:41

回答

0

我在一個月前有同樣的問題。我們使用SMTPSecure引起的錯誤是ntlm。 不要忘記轉發你的郵件服務器,它允許發送和接收來自網絡的郵件。 並重新檢查您的帳戶電子郵件和密碼,是嗎?