Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как проверить что email не отправился?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Doox911
Отправлено: 17 Апреля, 2018 - 17:30:39
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




Доброго времени суток. Формирую и отправляю письмо при помощи PHPMailer.
Проверяю отправку письма таким способом:



Срабатывает код типо отправилось, на самом деле нет. Как мне отловить момент не отправки по другому?
 
 Top
Мелкий Супермодератор
Отправлено: 17 Апреля, 2018 - 20:23:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Doox911 пишет:
Срабатывает код типо отправилось, на самом деле нет

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


-----
PostgreSQL DBA
 
 Top
Doox911
Отправлено: 18 Апреля, 2018 - 08:58:22
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




Мелкий пишет:
Doox911 пишет:
Срабатывает код типо отправилось, на самом деле нет

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


А подскажите по первому пункту. Где почитать? Чем пользоваться? А остальные пункты это настройка сервера? Для виртуального это надо к поставщику обращаться?
 
 Top
Vladimir Kheifets
Отправлено: 18 Апреля, 2018 - 09:47:28
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




Doox911 пишет:
Доброго времени суток. Формирую и отправляю письмо при помощи PHPMailer.
Проверяю отправку письма таким способом:

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

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

Удачи!

(Отредактировано автором: 18 Апреля, 2018 - 09:50:24)

 
 Top
Doox911
Отправлено: 18 Апреля, 2018 - 10:17:49
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




Цитата:

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

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

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

(Отредактировано автором: 18 Апреля, 2018 - 10:18:23)

 
 Top
Мелкий Супермодератор
Отправлено: 18 Апреля, 2018 - 10:49:36
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Doox911 пишет:
А подскажите по первому пункту. Где почитать? Чем пользоваться? А остальные пункты это настройка сервера? Для виртуального это надо к поставщику обращаться?

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

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

Будет ли отбивка mail delivery - есть варианты.


-----
PostgreSQL DBA
 
 Top
Vladimir Kheifets
Отправлено: 18 Апреля, 2018 - 14:04:22
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




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 такую проверку и исключаете из списка битые адреса. Только в этом случаете нужно обязательно проверять причину недоставки.

(Отредактировано автором: 18 Апреля, 2018 - 14:07:56)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB