Ошибка PHP Mailer: почтовый адрес недействителен

Я хотел бы отправить электронное письмо с помощью SMTP-сервера Gmail через PHP Mailer.

Я запускаю Zend Server Community Edition на своем компьютере.

Ниже приведен мой код (отредактированный, чтобы скрыть определенную конфиденциальную информацию).

 require_once('phpmailer/class.phpmailer.php');

        $mail             = new PHPMailer();

        $body             = "test msg";

        $mail->IsSMTP();
        $mail->SMTPDebug  = 2;                    

        $mail->SMTPAuth   = true;                  
        $mail->SMTPSecure = "tls";                 
        $mail->Host       = "smtp.gmail.com";      
        $mail->Port       = "587";                    
        $mail->Username   = "<valid-id>";  
        $mail->Password   = "<valid-password>";            

        $mail->SetFrom('[email protected]', 'Name');

        $mail->AddReplyTo("[email protected]","Name");

        $mail->Subject    = "subject";

        $mail->MsgHTML($body);

        $address = "[email protected]";
        $mail->AddAddress($address, "halo:);

        if(!$mail->Send())
        {
          echo "Mailer Error: " . $mail->ErrorInfo;
        }
        else
        {
          echo "Message sent!";
        }

Несмотря на то, что я тщательно следовал примеру с вики-страницы PHP Mailer, мне почему-то не удалось отправить электронное письмо соответствующим образом.

Это сообщение об ошибке, сгенерированное функцией:

SMTP -> ОШИБКА: не удалось подключиться к серверу: попытка подключения не удалась, поскольку подключенная сторона не ответила должным образом через определенный период времени, или установленное соединение не удалось, поскольку подключенный хост не ответил. (10060) Ошибка следующего адреса отправителя: [email protected] Ошибка почтовой программы: ошибка следующего адреса отправителя: [email protected]

Пожалуйста, проконсультируйте меня по этому вопросу. Спасибо.


person rofans91    schedule 15.08.2012    source источник
comment
smtp-сервер, вероятно, выполняет некоторые проверки во время smtp-сессии, например, для борьбы со спамом. b.c - несуществующий домен, поэтому он не хочет перенаправлять почту с этого домена   -  person CyberDem0n    schedule 15.08.2012
comment
Раньше я использовал действительный домен, и он генерировал точно такое же сообщение.   -  person rofans91    schedule 15.08.2012
comment
Дело не только в домене. GMail жестко борется со спамом. Скорее всего, они также проверят, что весь адрес электронной почты действителен (он существует в домене). Попробуйте отправлять почту со своего домена и создать учетную запись электронной почты, например [email protected], чтобы другие почтовые серверы видели, что адрес From действителен. Вы можете установить квоту этого электронного письма на 0 МБ, если вы не хотите, чтобы оно получало какие-либо сообщения.   -  person Bailey Parker    schedule 15.08.2012


Ответы (1)


ты пытался:

$mail->SMTPAuth   = true;                  
$mail->SMTPSecure = "ssl";                 
$mail->Host       = "smtp.gmail.com";      
$mail->Port       = "465";

Я изменил в вашем коде свои электронные письма, моего пользователя smtp, мои настройки ^^^, пароль и строку:

$mail->AddAddress($address, "Mihai"); // you forgot a quote

использовал PHPMailer5.2.1 и результат:

SMTP -> FROM SERVER:220 mx.google.com ESMTP gq2sm2073759bkc.13 
SMTP -> FROM SERVER: 250-mx.google.com at your service, [***.***.***.***] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH 250 ENHANCEDSTATUSCODES 
SMTP -> FROM SERVER:250 2.1.0 OK gq2sm2073759bkc.13 
SMTP -> FROM SERVER:250 2.1.5 OK gq2sm2073759bkc.13 
SMTP -> FROM SERVER:354 Go ahead gq2sm2073759bkc.13 
SMTP -> FROM SERVER:250 2.0.0 OK 1345113839 gq2sm2073759bkc.13 
Message sent!

Получено письмо:

X-Mailer: PHPMailer 5.2.1 (http://code.google.com/a/apache-extras.org/p/phpmailer/)
person Mihai Iorga    schedule 15.08.2012
comment
см. мой обновленный ответ, у вас могут быть проблемы с портами в вашей сети. - person Mihai Iorga; 16.08.2012
comment
Это мое сообщение об ошибке: SMTP -> ОШИБКА: Не удалось подключиться к серверу: Попытка подключения не удалась, поскольку подключенная сторона не ответила должным образом через определенный период времени, или установленное соединение не удалось, поскольку подключенный хост не ответил. (10060) Ошибка следующего адреса отправителя: [email protected] Ошибка почтовой программы: ошибка следующего адреса отправителя: [email protected] - person rofans91; 16.08.2012
comment
это должен быть ваш хост, который не принимает отправку электронной почты с помощью SMTP. - person Mihai Iorga; 16.08.2012
comment
Нет, я имею в виду, где у вас есть ваш хостинг. - person Mihai Iorga; 16.08.2012
comment
Возможно, ваш интернет-провайдер блокирует SMTP доступ. Интернет-провайдеры часто блокируют доступ к SMTP по соображениям безопасности (ПОЧТОВЫЙ СПАМ) - person Mihai Iorga; 16.08.2012