Форумы портала PHP.SU » » HTTP и PHP » Как проверить что email не отправился?

Страниц (1): [1]
 

1. Doox911 - 17 Апреля, 2018 - 17:30:39 - перейти к сообщению
Доброго времени суток. Формирую и отправляю письмо при помощи PHPMailer.
Проверяю отправку письма таким способом:



Срабатывает код типо отправилось, на самом деле нет. Как мне отловить момент не отправки по другому?
2. Мелкий - 17 Апреля, 2018 - 20:23:16 - перейти к сообщению
Doox911 пишет:
Срабатывает код типо отправилось, на самом деле нет

На самом деле:
1) не передано MTA
2) MTA не доставил серверу адресата
3) сервер адресата не передал письмо пользователю
Выберите нужный.
PHP может проверить только первый пункт.
3. Doox911 - 18 Апреля, 2018 - 08:58:22 - перейти к сообщению
Мелкий пишет:
Doox911 пишет:
Срабатывает код типо отправилось, на самом деле нет

На самом деле:
1) не передано MTA
2) MTA не доставил серверу адресата
3) сервер адресата не передал письмо пользователю
Выберите нужный.
PHP может проверить только первый пункт.


А подскажите по первому пункту. Где почитать? Чем пользоваться? А остальные пункты это настройка сервера? Для виртуального это надо к поставщику обращаться?
4. Vladimir Kheifets - 18 Апреля, 2018 - 09:47:28 - перейти к сообщению
Doox911 пишет:
Доброго времени суток. Формирую и отправляю письмо при помощи PHPMailer.
Проверяю отправку письма таким способом:

Срабатывает код типо отправилось, на самом деле нет. Как мне отловить момент не отправки по другому?

Добрый день!
Вы можете проверять входящие сообщения на сервере использую функции imap
на адрес from mail, указанный в PHPMailer.
Если отправленное сообщение не доставлено клиенту, то на Ваш сервер придёт ответ с “Mail delivery failed”.
Примерно так это работает:
Спойлер (Отобразить)

Удачи!
5. Doox911 - 18 Апреля, 2018 - 10:17:49 - перейти к сообщению
Цитата:

Добрый день!
Вы можете проверять входящие сообщения на сервере использую функции imap
на адрес from mail, указанный в PHPMailer.
Если отправленное сообщение не доставлено клиенту, то на Ваш сервер придёт ответ с “Mail delivery failed”.
Примерно так это работает:
Спойлер (Отобразить)

1. Поясните паттерн
PHP:
скопировать код в буфер обмена
  1. $shSubject="/Mail\ delivery\ failed/i";

2. Я ж не себе отправляю письма, а на почтовые ящики к которым пароль не знаю. Или я что-то не понимаю?
6. Мелкий - 18 Апреля, 2018 - 10:49:36 - перейти к сообщению
Doox911 пишет:
А подскажите по первому пункту. Где почитать? Чем пользоваться? А остальные пункты это настройка сервера? Для виртуального это надо к поставщику обращаться?

Пункт первый - это показанная вами проверка в начале темы.
Пункт второй - это настройка сервера
Пункт третий - логика сервера получателя.

Сквозь последние два - SPF, DKIM, blacklist'ы и прочий антиспам.

Будет ли отбивка mail delivery - есть варианты.
7. Vladimir Kheifets - 18 Апреля, 2018 - 14:04:22 - перейти к сообщению
Doox911 пишет:
Цитата:

Добрый день!
Вы можете проверять входящие сообщения на сервере использую функции imap
на адрес from mail, указанный в PHPMailer.
Если отправленное сообщение не доставлено клиенту, то на Ваш сервер придёт ответ с “Mail delivery failed”.
Примерно так это работает:
Спойлер (Отобразить)

1. Поясните паттерн
PHP:
скопировать код в буфер обмена
  1. $shSubject="/Mail\ delivery\ failed/i";

2. Я ж не себе отправляю письма, а на почтовые ящики к которым пароль не знаю. Или я что-то не понимаю?


1. Поясняю паттерн:
Проверяется, на наличие текста: "Mail delivery failed", что я вляется признаком недоставки Вашего сообщения.

2. Вы на Вашем сервере создаёте ящик для email from, например, для рассылок, no-reply@MyMail.ru . Наверно, к своему серверу у Вас есть доступ?
Работает это, например, так, прошла рассылка по адресам из некоторого списка,
запускакете через CRON такую проверку и исключаете из списка битые адреса. Только в этом случаете нужно обязательно проверять причину недоставки.

 

Powered by ExBB FM 1.0 RC1