Я разработал приложение в Laravel 5.5, которое отправляет некоторые электронные письма.

Если в получателе произошла ошибка (несуществующая учетная запись, ограничение пространства и т.д.), Мы не получим отказов в качестве ответа - сообщение электронной почты с типичной ошибкой:

"Подсистема доставки почты ...".

Could что может происходить?

Конфигурация:

  • Общий хостинг на Godaddy

  • G Suite для электронных писем (MX записи)

  • Laravel отправляет электронные письма с localhost (не gmail)

1 ответ1

1

Заранее извиняюсь, если я неправильно понял что-либо в вашем вопросе, просмотрите все, что вы уже знаете, или сделайте какие-либо ошибки / упущения в моем объяснении =).

Если в получателе возникает ошибка (несуществующая учетная запись, ограничение пространства и т.д.), Мы не получаем [a] bounce [извещение], электронное письмо с типичной ошибкой: «Подсистема доставки почты ...»

Я собираюсь предположить, что вы наверняка знаете, что возвращаемое сообщение должно быть возвращено и что принимающие серверы не используют всеохватывающие сообщения или просто молча отбрасывают вашу почту (возможны оба варианта).

Не должны ли возвращенные сообщения возвращаться автоматически?

Они доставляются автоматически, да, при условии, что они вообще созданы (см. Выше).

Однако уведомления о пересылке часто направляются через адрес пересылки - путь возврата, указанный в заголовках для сообщения электронной почты во время его отправки. Часто это один обратный адрес, поэтому здесь могут появиться ваши записи MX с Google. Важно отметить, что это не просто нормально From адреса. Что касается устранения неполадок, этот путь возврата обычно указывается в виде заголовка Return-Path после доставки письма получателю.

Существует также небольшая проблема с тем, кто генерирует любые сообщения об отказе. По сути, последняя MTA / MDA или программа, которая на самом деле обрабатывает данное электронное письмо, отвечает за генерацию уведомлений об отказах. Это имеет потенциальные последствия для решения любых вопросов.

Кто генерирует оповещение об отказе?

Если сообщение принято (например, получатель существует), но после этого возникает другая ошибка (например, на диске не хватает места), то получатель отвечает за генерацию любого уведомления об отказе и отправку его по правильному пути возврата (см. Выше). ).

Если сообщение отклонено получателем (например, получатель не существует), то отправитель (потенциально ваше приложение) отвечает за генерацию / обработку любых уведомлений об отказе.

В любом случае Godaddy может вообще не участвовать (у Laravel есть несколько опций для почты, и вы никогда не указываете, как письма генерируются localhost, поэтому трудно судить о потенциальной причастности Godaddy к этому).

Устранение неполадок в вашей ситуации

Я бы начал с проверки всего, что связано с Google, и подтвердил, что ваши обычные почтовые сообщения принимаются правильно (записи MX определяют, какие серверы получают почту для данного домена, независимо от того, через кого зарегистрирован домен).

Что касается вашего заявления, вы не даете много подробностей. Я понимаю, что Laravel может обрабатывать входящую электронную почту, но я ничего не знаю о такой настройке. Поскольку вы говорите, что ваше приложение отправляет почту через localhost, вам, вероятно, может потребоваться указать правильные заголовки для пути возврата bounce (опять же, см. Выше).

Обычно MTA указывает путь возврата (иногда его называют "отправитель конверта"). В этом случае (с PHP), этот заголовок также называется From Address опять - таки не следует путать с нормальным From адреса. Я не знаком с Laravel, поэтому я не могу дать какие-то конкретные шаги, но, исходя из базового Google, это значение, по-видимому, может быть установлено в рамках.

Полезные тестовые адреса

В качестве дополнительного примечания вас могут заинтересовать адреса тестовых адресов электронной почты, поднятые из этого вопроса StackOverflow. Эти два адреса, bouncetest@tribulant.com и bounce-test@service.socketlabs.com, не делают ничего, кроме пересылки электронных писем, и, следовательно, полезны для проверки того, как ваша система обрабатывает сообщения такого рода.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .