У меня есть простой элемент управления на моем сайте. Он основан на сеансе php. Если пользователи могут войти в систему, сменить пароль, запросить новый пароль, выйти из системы. Все эти функции хорошо работают, когда я выполняю на своем ПК. Запрос на новый пароль работает отлично, а почта отправлена успешно, новый пароль получен по почте.PHPMailer, SMTP Ошибка Не удалось подключиться к узлу smtp
Если я пытаюсь запросить новый пароль на мобильном телефоне (iPhone) (открылся веб-сайт через локальный ip), я получаю следующую ошибку. Ошибка SMTP. Не удалось подключиться к SMTP-хосту. Почта не отправлена, повторите попытку !. Но, когда я делаю то же самое в своем компьютере, почта была успешно отправлена. Когда я пытаюсь использовать samsung mobile (S4), он работает когда-то, а иногда и ошибкой.
Функция mymail получает адрес, тему, сообщение и адрес от вызова в другом файле php. Сообщение содержит имя пользователя и новый пароль, и это html-код.
Я объясню вам ясно с кодом ..
Это send_mail.php. Функция «mymail» вызывается из другого php-файла.
<?php
//include phpmailer
require_once ('class.phpmailer.php');
function mymail($mto, $msub, $mbody, $mfrom) {
$mail = new PHPMailer();
$mail -> IsSMTP();
$mail -> SMTPAuth = true;
$mail -> SMTPSecure = "tls";
$mail -> Host = "email-smtp.us-west-2.amazonaws.com";
$mail -> Username = "Provided by Amazon SES";
$mail -> Password = "Provided by Amazon SES";
$mail -> SetFrom("$mfrom", '');
//from (verified email address)
$mail -> Subject = "$msub";
$body = "$mbody";
$body = eregi_replace("[\]", '', $body);
$mail -> MsgHTML($body);
$mail -> AddAddress("$mto", "");
if ($mail -> Send()) {
return 1;
} else {
echo "<br> Mail not sent, try again!";
return 0;
}
}
?>
И, да, я отправляю почту с подтвержденным электронным письмом в Amazon SES. Я попытался отредактировать PHP-код. Удалена функция sha1 из другого php-файла и не используется. Я думаю, что проблема заключается в этой функции. Вообще-то php является серверной, но будет ли процессор php работать по-разному при доступе с мобильного или ПК? Я пробовал вчера вечером. Сделано достаточно исследований в Google. Заранее спасибо.
Существует огромное количество дубликатов этого вопроса. Почти все они могут быть решены простым [чтением документов, которые предоставляет PHPMailer] (https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting). Вы также используете старую версию PHPMailer. Как говорит @sanki, вы также должны установить 'Port = 587'. – Synchro
Спасибо, я обновил, но проблема не в обновлении. Здесь введенное письмо учитывает регистр. В моем мобильном телефоне при вводе электронной почты первое письмо - это капитал. Это проблема! Нашел его только тогда, когда я его обновил. Я проследил журнал от начала до конца. Затем я понял, что вопрос чувствителен к делу. Btw Спасибо. – sailesh