Проблема PHPMailer при подключении к smtp.mail.emea.microsoftonline.com - PullRequest
0 голосов
/ 08 октября 2009

При попытке отправить сообщение электронной почты с веб-сервера под управлением W2K server 2003 на 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 = enquiries@domain.com

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   = "enquiries@domain.com";  // username
  $mail->Password   = "Password";            // password
  $mail->AddReplyTo('enquiries@domain.com', 'First Last');
  $mail->AddAddress('myemail@gmail.com', 'John Doe');
  $mail->SetFrom('enquiries@domain.com', 'First Last');
  $mail->AddReplyTo('enquiries@domain.com', '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!
}

Ответы [ 2 ]

0 голосов
/ 25 ноября 2009

У меня та же проблема несколько месяцев назад. И ошибка, вызванная нашим SMTPSecure, используется ntlm. Не забудьте переслать свой почтовый сервер, которому разрешено отправлять и получать почту из Интернета. И еще раз проверьте адрес электронной почты вашей учетной записи и пароль, что это правильно?

0 голосов
/ 08 октября 2009

Попробуйте сначала выполнить эти шаги вручную, чтобы увидеть, можно ли вообще подключиться:

http://technet.microsoft.com/en-us/library/aa995718(EXCHG.65).aspx

Также эта страница: http://www.gilham.org/Blog/Lists/Posts/Post.aspx?List=aab85845%2D88d2%2D4091%2D8088%2Da6bbce0a4304&ID=665

говорит, что: адрес FROM должен использовать домен SMTP типа «Полномочный» - это можно подтвердить в Центре администрирования Microsoft Online на вкладке «Пользователи - домены».

...