Postfix настройки · 1 min read · Sep 26, 2025
Как настроить пользовательские сообщения об ошибках Postfix

С тех пор как версия Postfix 2.3, Postfix поддерживает пользовательские сообщения об ошибках. Этот гид показывает, как настроить пользовательские сообщения об ошибках Postfix и максимальное время жизни очереди.
1 Версия Postfix
Сначала вам следует узнать о вашей версии Postfix, чтобы убедиться, что она поддерживает пользовательские сообщения об ошибках:
postconf -d | grep mail_versionserver2:~# postconf -d | grep mail_version
mail_version = 3.4.13
milter_macro_v = $mail_name $mail_version
server2:~#Если ваш Postfix 2.3 или новее, то вы готовы к работе.
2 Установите maximal_queue_lifetime и delay_warning_time
С сайта http://www.postfix.org/postconf.5.html:
maximal_queue_lifetime: Максимальное время, в течение которого сообщение находится в очереди, прежде чем оно будет отправлено обратно как недоставляемое.
delay_warning_time: Время, после которого отправитель получает заголовки сообщений, которые все еще находятся в очереди.
Команда postconf -n показывает настройки, которые в настоящее время настроены в /etc/postfix/main.cf, в то время как команда postconf -d показывает настройки по умолчанию, которые действительны, если в /etc/postfix/main.cf не установлено ничего другого.
Чтобы узнать текущее значение maximal_queue_lifetime, вы можете выполнить
postconf -d | grep maximal_queue_lifetime
postconf -n | grep maximal_queue_lifetimeЕсли postconf -n ничего не отображает, это означает, что используется значение из postconf -d:
server2:~# postconf -d | grep maximal_queue_lifetime
maximal_queue_lifetime = 5d
server2:~# postconf -n | grep maximal_queue_lifetime
server2:~#То же самое касается delay_warning_time:
postconf -d | grep delay_warning_time
postconf -n | grep delay_warning_timeserver2:~# postconf -d | grep delay_warning_time
delay_warning_time = 0h
server2:~# postconf -n | grep delay_warning_time
server2:~#Если вы хотите изменить эти настройки, вы можете использовать команду postconf -e. Она запишет настройки в /etc/postfix/main.cf, например, так:
postconf -e 'maximal_queue_lifetime = 1d'
postconf -e 'delay_warning_time = 0h'Перезапустите Postfix после этого:
service postfix restartПричина, по которой нам важны эти две настройки, заключается в том, что их значения могут быть использованы в пользовательских сообщениях об ошибках.
3 Создание пользовательского сообщения об ошибке
С сайта http://www.postfix.org/bounce.5.html:
Шаблонный файл может задавать шаблоны для неудачной почты, задержанной почты, успешной доставки или для проверки адреса. Эти шаблоны называются failure_template, delay_template, success_template и verify_template соответственно. Вы можете, но не обязаны, указывать все четыре шаблона в файле шаблона об ошибках.
*Каждый шаблон начинается с
Get new posts in your inbox
No spam. Unsubscribe anytime.