Postfix настройки · 1 min read · Sep 26, 2025

Как настроить пользовательские сообщения об ошибках Postfix

С тех пор как версия Postfix 2.3, Postfix поддерживает пользовательские сообщения об ошибках. Этот гид показывает, как настроить пользовательские сообщения об ошибках Postfix и максимальное время жизни очереди.

1 Версия Postfix

Сначала вам следует узнать о вашей версии Postfix, чтобы убедиться, что она поддерживает пользовательские сообщения об ошибках:

postconf -d | grep mail_version
server2:~# 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_time
server2:~# 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 соответственно. Вы можете, но не обязаны, указывать все четыре шаблона в файле шаблона об ошибках.

*Каждый шаблон начинается с

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.