2013-06-05 2 views
-1

, когда я пытаюсь отправить почту по phpmailer, есть некоторая ошибка. Как это:Ошибка phpmailer tls, когда я пытаюсь отправить почту через tls, ошибка, например, ниже

SMTP -> FROM SERVER: 250-m1.mydomain.com
250-PIPELINING
250-SIZE 15728640
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
CLIENT -> SMTP: STARTTLS
SMTP -> FROM SERVER:220 2.0.0 Ready to start TLS
CLIENT -> SMTP: EHLO localhost.localdomain
250-PIPELINING
250-SIZE 15728640
250-VRFY
250-ETRN
250-AUTH PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
SMTP -> ERROR: AUTH not accepted from server: 535 5.7.8 Error: authentication failed: Invalid authentication mechanism
CLIENT -> SMTP: RSET
SMTP -> FROM SERVER:250 2.0.0 Ok
CLIENT -> SMTP: MAIL FROM:
SMTP -> FROM SERVER:250 2.1.0 Ok
CLIENT -> SMTP: RCPT TO:
SMTP -> FROM SERVER:554 5.7.1 : Relay access denied
SMTP -> ERROR: RCPT not accepted from server: 554 5.7.1 : Relay access denied
CLIENT -> SMTP: quit
SMTP -> FROM SERVER:221 2.0.0 Bye

И мой PHP код, как это:

<?php 
require_once('class.phpmailer.php'); 
$mail = new PHPMailer(); 
$mail->IsSMTP(); 
$mail->SMTPDebug = 3; 
$mail->SMTPSecure = "tls"; 
$mail->SMTPAuth = true; 
$mail->Host = "m1.mydomain.com"; 
$mail->Port = 25; 
$mail->Username = "[email protected]"; 
$mail->Password = "password"; 
$mail->SetFrom('[email protected]', 'service'); 
$mail->Subject = "Fine Design - Avise me"; 
$mail->Body = "This is very interest email for you"; 
$mail->AddAddress("[email protected]","name"); 
if(!$mail->Send()) { 
    $error = 'Mail error: '.$mail->ErrorInfo; 
    echo "We're sorry, however, an error has occurred. You may manually e-mail us ."; 
    return false; 
} else { 
    echo "Thanks! Your message was successfully sent."; 
    return true; 
} 
?> 

, но я мог бы отправить почту по Foxmail и другим клиентом, ли кто-нибудь может дать мне предложение?

+2

Почтовый сервер не принимает любой метод аутентификации, который вы пытаетесь выполнить. – Orbling

ответ

0

Вы используете tls на порту 25. Это нормально не должно работать, поскольку порт 25 обычно используется для smtp без ssl/tls.

+0

Ничего не мешает вам использовать TLS на порту 25, так как он будет успешно работать с незашифрованными соединениями, и он распространен для обработки входящей почты. То же самое относится и к SSL, поэтому вы обычно видите его на отдельном порту (465), хотя с 1998 года он устарел. – Synchro

0

Попробуйте проверить его с портом 25, и с портом 587. Добавить:

$mail->SMTPOptions = array(
     'ssl' => array(
     'verify_peer' => false, 
     'verify_peer_name' => false, 
     'allow_self_signed' => true 
    ) 
); 

Я использовал его и работает отлично без SSL.

Смежные вопросы