У меня небольшой домен с несколькими хостами. Sendmail настроен для пересылки всей локально созданной почты (в основном почты на root@localhost
генерируется заданиями cron) в центральный «почтовый узел», используя
define(`MAIL_HUB', `somehost.mydomain.org')
в sendmail.mc
. Недавно у меня возникла проблема с почтовым сервером на удаленном конце, так что он не принимал почту с этого хоста. Это привело к тому, что sendmail отбросил всю почту. Из /var/log/maillog
:
sendmail[3133]: n4461S5s003133: n4461S5t003133: return to sender: Service unavailable
sendmail[3133]: n4461S5t003133: to=root, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=34772, relay=XXXXX.org. [91.184.38.153], dsn=5.0.0, stat=Service unavailable
sendmail[3133]: n4461S5s003133: Losing ./qfn4461S5s003133: savemail panic
Все письма, отправленные за это время, были отброшены и потеряны навсегда.
Как я могу предотвратить это? В идеале я бы хотел, чтобы sendmail повторил попытку laiter или, в конечном итоге, сохранил почту в локальный файл в крайнем случае.
В общем-то, sendmail
следует сохранить все неудачные попытки отправки локально в файлах спула и повторить попытку в течение пяти дней, поэтому, вероятно, произошла ошибка конфигурации. Согласно этим ссылкам:
вам нужно убедиться, что у вас нет (из приведенных выше ссылок):
/etc/aliases
mbox
файл для почтмейстера превышает 2 ГБ и procmail
не могу доставить электронное письмоКроме того, убедитесь, что вы не столкнетесь с selinux
вопрос. Может быть что selinux
предотвращает sendmail
от сохранения файла. Электронная почта никогда не должна быть полностью потеряна - в худшем случае она должна быть возвращена исходному отправителю и почтмейстеру. Если электронная почта полностью потеряна, это либо ошибка конфигурации, либо ошибка в sendmail.
В контексте эта ошибка означает, что sendmail
пытался доставить сообщение в спул-файл ./qfn4461S5s003133
но удаленный почтовый сервер вернул ошибку «Служба недоступна». Таким образом, местные sendmail
попытался отскочить от электронной почты. При попытке сделать это что-то пошло не так, поэтому от электронной почты отказались.
Это эквивалент двойной шины CPU в EMail. То есть фатальная ошибка (невозможность сохранить или отклонить сообщение электронной почты), возникающая в ответ на фатальную ошибку (удаленный сервер недоступен достаточно долго, чтобы sendmail отказался от повторных попыток).
Ваш сервер почти сделал "правильную" вещь здесь.
Дальний конец вернул сообщение об ошибке класса «5xx», указывающее на постоянную неспособность доставить сообщение, следовательно, ваш конец полностью прервал доставку.
Чтобы ваш сервер продолжал ставить сообщение в очередь, он должен был получить сообщение класса «4xx», указывающее на временный сбой.
Однако, чтобы предотвратить потерю сообщений навсегда, вам необходимо определить причину ошибки «savemail panic» - они должны были быть просто возвращены отправителям.