Я надеюсь, что кто-то может помочь мне с проблемой, с которой я сталкиваюсь, пытаясь решить проблему. У меня есть код на моем сайте, который ежедневно отправляет мне электронное письмо. последний раз он бежал был 01.12.17. Единственная часть, которая не работает, — это код, который отправляет электронное письмо, ничего не сообщается в журнале PHP, но я никогда не получаю электронное письмо. Я использую Gmail SMTP и все работало должным образом в течение многих лет. Я включил отладку, и результаты застряли. Вот что я вижу:
DEBUG: Recv: 220 smtp.gmail.com ESMTP f67sm17798350pff.173 - gsmtp
DEBUG: Send: EHLO localhost
DEBUG: Recv: 250-smtp.gmail.com at your service, [xxx.xxx.xxx.xxx]
DEBUG: Recv: 250-SIZE 35882577
DEBUG: Recv: 250-8BITMIME
DEBUG: Recv: 250-STARTTLS
DEBUG: Recv: 250-ENHANCEDSTATUSCODES
DEBUG: Recv: 250-PIPELINING
DEBUG: Recv: 250-CHUNKING
DEBUG: Recv: 250 SMTPUTF8
DEBUG: Send: STARTTLS
DEBUG: Recv: 220 2.0.0 Ready to start TLS
DEBUG: Send: RSET
DEBUG: Recv: MIA+!&w����]];�ʻ��.~���]�v��J�MJk��+��s�������z��?|?�qI�s'Y>H���LO����~����O�J��ˆ�F�0��UM�߇�"Z�6ד�FL��J� ����vx�g�����L�����}���F���~����Чg���ek�7�4� z^�"��<��dP[p�`W~����^=bG���=�U�K�1+1؆�����;p"W�WE�3���P���F��Ԛ/D�TD܃�ʡ����â�d"�3!��ّ 3���U�,&r�X�@���.�@,��z��M�
DEBUG: Send: QUIT
Кажется, что-то перемешивает полученную отладочную информацию? Я получаю одинаковые результаты в разных браузерах и в командной строке. Я не могу понять, почему (я подозреваю, что это может быть связано с TLS), и я не уверен, как я могу прочитать результаты, чтобы увидеть, есть ли ошибка или нет.
Спасибо заранее за любую помощь. Это будет с благодарностью.
Вот код, который отправляет электронное письмо, ничего не изменилось, кроме добавления опции отладки.
еще раз спасибо
function send_email ($email, $subject, $body, $from)
{
//Send an email to the user with thier password information
//Pear Mail information for mime
require_once "Mail.php";
require_once "Mail\mime.php";
//Send to and subject headers
$from = $from;
$to = $email;
//Pear mail information to send message
$mime = new Mail_mime();
$mime->setHTMLbody($body);
$body = $mime->get();
$headers = array(
'From' => $from,
'To' => $to,
'Subject' => $subject);
$headers = $mime->headers($headers);
$smtp = Mail::factory('smtp', array(
'host' => EMAIL_HOST,
'auth' => true,
'username' => EMAIL_USERNAME,
'password' => EMAIL_PASSWORD,
'port' => EMAIL_PORT,
'debug' => true));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
$result = (''.$mail->getMessage().'');
} else {
$result = ("Message successfully sent! \r\n. Email was sent to $to \r\n");
}
return ($result);
}
Задача ещё не решена.
Других решений пока нет …