Проблема с SMTP-аутентификацией в PHP с использованием PHPMailer, с Pear Mail работает
У меня проблемы с отправкой электронной почты с классом PHPMailer, но он работает с PEAR Mail :: factory.
Я думаю, что проблема с аутентификацией SMTP, но я не могне могу найти проблему.
Код с проблемой:
IsSMTP(); // set mailer to use SMTP $mail->Host = 'mail.xxx.com.br'; // my host here $mail->SMTPAuth = true; // turn on SMTP authentication $mail->Username = '[email protected]'; // a valid email here $mail->Password = '***'; // the password from email $mail->From = '[email protected]'; $mail->SMTPDebug = true; $mail->AddReplyTo('[email protected]', 'Test'); $mail->FromName = 'Test SMTP'; $mail->AddAddress('[email protected]', '[email protected]'); $mail->Subject = 'Test SMTP'; $mail->IsHTML(true); $mail->Body = 'Teste<br>teste 2'; //$mail->Send(); if(!$mail->Send()) { echo "Message could not be sent.
"; echo "Mailer Error: " . $mail->ErrorInfo; exit; } ?>
Код с PEAR, который работает:
'[email protected]',
'Subject' => 'Test - mail.php'
);
$mime = new Mail_mime($crlf);
$mime->setTXTBody($text);
$mime->setHTMLBody($html);
$body = $mime->get();
$hdrs = $mime->headers($hdrs);
$mail = Mail::factory('smtp',
array ('host' => 'mail.xxx.com.br',
'debug'=> true,
'auth' => true,
'username' => '[email protected]',
'password' => '***'));
$mail->send('[email protected]', $hdrs, $body);
?>
Когда я запускаю код с проблемой с активированной отладкой (SMTPDebug = True), я получаю:
SMTP -> FROM SERVER: SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "220-orion.bommtempo.net.br ESMTP Exim 4.69 #1 Wed, 05 Aug 2009 10:00:48 -0300 " SMTP -> get_lines(): $data is "220-orion.bommtempo.net.br ESMTP Exim 4.69 #1 Wed, 05 Aug 2009 10:00:48 -0300 " SMTP -> get_lines(): $data was "220-orion.bommtempo.net.br ESMTP Exim 4.69 #1 Wed, 05 Aug 2009 10:00:48 -0300 " SMTP -> get_lines(): $str is "220-We do not authorize the use of this system to transport unsolicited, " SMTP -> get_lines(): $data is "220-orion.bommtempo.net.br ESMTP Exim 4.69 #1 Wed, 05 Aug 2009 10:00:48 -0300 220-We do not authorize the use of this system to transport unsolicited, " SMTP -> get_lines(): $data was "220-orion.bommtempo.net.br ESMTP Exim 4.69 #1 Wed, 05 Aug 2009 10:00:48 -0300 220-We do not authorize the use of this system to transport unsolicited, " SMTP -> get_lines(): $str is "220 and/or bulk e-mail. " SMTP -> get_lines(): $data is "220-orion.bommtempo.net.br ESMTP Exim 4.69 #1 Wed, 05 Aug 2009 10:00:48 -0300 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail. " SMTP -> FROM SERVER: 220-orion.bommtempo.net.br ESMTP Exim 4.69 #1 Wed, 05 Aug 2009 10:00:48 -0300 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail. SMTP -> ERROR: EHLO not accepted from server: 220-orion.bommtempo.net.br ESMTP Exim 4.69 #1 Wed, 05 Aug 2009 10:00:48 -0300 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail. SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "250-orion.bommtempo.net.br Hello admin-teste.bommtempo.com.br [200.155.129.6] " SMTP -> get_lines(): $data is "250-orion.bommtempo.net.br Hello admin-teste.bommtempo.com.br [200.155.129.6] " SMTP -> get_lines(): $data was "250-orion.bommtempo.net.br Hello admin-teste.bommtempo.com.br [200.155.129.6] " SMTP -> get_lines(): $str is "250-SIZE 20971520 " SMTP -> get_lines(): $data is "250-orion.bommtempo.net.br Hello admin-teste.bommtempo.com.br [200.155.129.6] 250-SIZE 20971520 " SMTP -> get_lines(): $data was "250-orion.bommtempo.net.br Hello admin-teste.bommtempo.com.br [200.155.129.6] 250-SIZE 20971520 " SMTP -> get_lines(): $str is "250-PIPELINING " SMTP -> get_lines(): $data is "250-orion.bommtempo.net.br Hello admin-teste.bommtempo.com.br [200.155.129.6] 250-SIZE 20971520 250-PIPELINING " SMTP -> get_lines(): $data was "250-orion.bommtempo.net.br Hello admin-teste.bommtempo.com.br [200.155.129.6] 250-SIZE 20971520 250-PIPELINING " SMTP -> get_lines(): $str is "250-AUTH PLAIN LOGIN " SMTP -> get_lines(): $data is "250-orion.bommtempo.net.br Hello admin-teste.bommtempo.com.br [200.155.129.6] 250-SIZE 20971520 250-PIPELINING 250-AUTH PLAIN LOGIN " SMTP -> get_lines(): $data was "250-orion.bommtempo.net.br Hello admin-teste.bommtempo.com.br [200.155.129.6] 250-SIZE 20971520 250-PIPELINING 250-AUTH PLAIN LOGIN " SMTP -> get_lines(): $str is "250-STARTTLS " SMTP -> get_lines(): $data is "250-orion.bommtempo.net.br Hello admin-teste.bommtempo.com.br [200.155.129.6] 250-SIZE 20971520 250-PIPELINING 250-AUTH PLAIN LOGIN 250-STARTTLS " SMTP -> get_lines(): $data was "250-orion.bommtempo.net.br Hello admin-teste.bommtempo.com.br [200.155.129.6] 250-SIZE 20971520 250-PIPELINING 250-AUTH PLAIN LOGIN 250-STARTTLS " SMTP -> get_lines(): $str is "250 HELP " SMTP -> get_lines(): $data is "250-orion.bommtempo.net.br Hello admin-teste.bommtempo.com.br [200.155.129.6] 250-SIZE 20971520 250-PIPELINING 250-AUTH PLAIN LOGIN 250-STARTTLS 250 HELP " SMTP -> FROM SERVER: 250-orion.bommtempo.net.br Hello admin-teste.bommtempo.com.br [200.155.129.6] 250-SIZE 20971520 250-PIPELINING 250-AUTH PLAIN LOGIN 250-STARTTLS 250 HELP SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "250 orion.bommtempo.net.br Hello admin-teste.bommtempo.com.br [200.155.129.6] " SMTP -> get_lines(): $data is "250 orion.bommtempo.net.br Hello admin-teste.bommtempo.com.br [200.155.129.6] " SMTP -> ERROR: AUTH not accepted from server: 250 orion.bommtempo.net.br Hello admin-teste.bommtempo.com.br [200.155.129.6] SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "503 AUTH command used when not advertised " SMTP -> get_lines(): $data is "503 AUTH command used when not advertised " SMTP -> FROM SERVER: 503 AUTH command used when not advertised SMTP -> ERROR: RSET failed: 503 AUTH command used when not advertised Message could not be sent.
Mailer Error: SMTP Error: Could not connect to SMTP host.
И результат отладки Почтового кода PEAR:
DEBUG: Recv: 220-orion.bommtempo.net.br ESMTP Exim 4.69 #1 Tue, 04 Aug 2009 19:37:10 -0300
DEBUG: Recv: 220-We do not authorize the use of this system to transport unsolicited,
DEBUG: Recv: 220 and/or bulk e-mail.
DEBUG: Send: EHLO localhost
DEBUG: Recv: 250-orion.bommtempo.net.br Hello localhost [200.155.129.6]
DEBUG: Recv: 250-SIZE 20971520
DEBUG: Recv: 250-PIPELINING
DEBUG: Recv: 250-AUTH PLAIN LOGIN
DEBUG: Recv: 250-STARTTLS
DEBUG: Recv: 250 HELP
DEBUG: Send: STARTTLS
DEBUG: Recv: 220 TLS go ahead
DEBUG: Send: EHLO localhost
DEBUG: Recv: 250-orion.bommtempo.net.br Hello localhost [200.155.129.6]
DEBUG: Recv: 250-SIZE 20971520
DEBUG: Recv: 250-PIPELINING
DEBUG: Recv: 250-AUTH PLAIN LOGIN
DEBUG: Recv: 250 HELP
DEBUG: Send: AUTH LOGIN
DEBUG: Recv: 334 VXNlcm5hbWU6
DEBUG: Send: c2lzdGVtYWFkbWluQGJvbW10ZW1wby5jb20uYnI=
DEBUG: Recv: 334 UGFzc3dvcmQ6
DEBUG: Send: RVkyYVM4YnpMNU5k
DEBUG: Recv: 235 Authentication succeeded
DEBUG: Send: MAIL FROM:
DEBUG: Recv: 250 OK
DEBUG: Send: RCPT TO:
DEBUG: Recv: 250 Accepted
DEBUG: Send: DATA
DEBUG: Recv: 354 Enter message, ending with "." on a line by itself
DEBUG: Send: MIME-Version: 1.0
From: [email protected]
Subject: Teste de mail - mail.php
Content-Type: multipart/alternative;
boundary="=_b3c5407ccf494306d78fbb35800efe65"
--=_b3c5407ccf494306d78fbb35800efe65
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="ISO-8859-1"
Versao em texto
--=_b3c5407ccf494306d78fbb35800efe65
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="ISO-8859-1"
Versao de email em HTML--=_b3c5407ccf494306d78fbb35800efe65--
.
DEBUG: Recv: 250 OK id=1MYSd4-0005Ky-Jw
DEBUG: Send: QUIT