Назад | Перейти на главную страницу

Что происходит с локальной электронной почтой, когда пользователя не существует

Я запускаю сервер с постфиксом для обработки электронной почты, отправленной с веб-сайта php.
Электронная почта для домена обрабатывается другим сервером, однако из-за того, что это доменное имя было введено в «mydestintion» (main.cf), веб-сервер использовал локальный ретранслятор, а не отправлял его через почтовый сервер.
Проблема в том, что пользователя с именем, эквивалентным адресу электронной почты, не существует.

Эти электронные письма ушли навсегда или они где-то хранятся?

Большинство MTA пойдут практически на любой конец, чтобы не уронить сообщение на пол. Обычно генерируется возврат (либо принимающий MTA, либо, для более качественных MTA, принимающий MTA откажется с кодом фатальной ошибки 5xx, а отправляющий MTA преобразует исходящее сообщение в рикошет).

Если этот возврат сам по себе не может быть доставлен, MTA, удерживающий его, обычно отправляет его получателю последней инстанции, которым является местный почтмейстер.

Только если MTA не может что-нибудь с ним - а для этого обычно требуется активная настройка, чтобы он не запаниковал и не уничтожил сообщение. Даже в этом случае вы обычно найдете запись в журнале, похожую на

Oct 24 04:18:57 host sm-mta[4499]: g9N5EwE3004499: Losing q5/qfg9N5EwE3004499: savemail panic
Oct 24 04:18:57 host sm-mta[4499]: g9N5EwE3004499: SYSERR(root): savemail: cannot save rejected email anywhere

Поэтому я советую начать с системы, в которой оно было создано, и следить за записями журнала. Это может быть довольно криминалистическим и часто может пересекаться с несколькими разными системами (и если их часы не синхронизированы, вы пожалеете о том дне, когда решили не устанавливать NTP!), Но, в конце концов, все хорошие MTA хранят отличные журналы, и как только вы поймете, как они написаны, они воля складывать.

В конце концов, вы закончите либо зарегистрированной паникой, либо зарегистрированной окончательной доставкой, часто в локальный почтовый ящик. Это не означает, что сообщение все еще будет в буфере; кто-то мог прочитать это, или работа cron привела его в порядок - но это не ошибка MTA и не его проблема. Пока у него есть ваше сообщение, MTA будет двигать небеса и землю, чтобы сделать что-то со своим адресом электронной почты, и если вы понимаете, как узнать, он расскажет вам, что он сделал.

Начнем с журналов.