Руссификация уведомлений о доставке postfix

Поотвечав какое то время на вопросы вроде «чего это мне за сообщение бусурманское пришло», решил руссифицировать сообщения отправляемые почтовым сервером при невозможности доставки, задержке.

Функционал сервера postfix разделен на несколько модулей, за отправку уведомлений, отвечает bounce.
Просмотреть текущее содержимое шаблонов этого демона можно командой:

postconf -b

Всего в bounce можно настроить 4 шаблона:

  1. failure_template: используется если сообщение не было доставлено получателю в течение $maximal_queue_lifetime;
  2. delay_template: используется если сообщение не было доставлено в течение $delay_warning_time часов, но $maximal_queue_lifetime не прошло;
  3. success_template: используется если сообщение было доставлено, но после $delay_warning_time часов;
  4. verify_template: вроде подтверждения о доставке, но по какому триггеру срабатывает не стал разбираться, т.к. не актуально.

Шаблоны следует перечислить в файле шаблонов, обычно это /etc/postfix/bounce.cf, и этот файл указать в конфиге постфикса директивой

bounce_template_file = /etc/postfix/bounce.cf

В файле шаблоны указываются в таком формате:


failure_template = <<EOF
Charset: us-ascii
From: MAILER-DAEMON (Mail Delivery System)
Subject: Undelivered Mail Returned to Sender
Postmaster-Subject: Postmaster Copy: Undelivered Mail

This is the mail system at host $myhostname.

I’m sorry to have to inform you that your message could not
be delivered to one or more recipients. It’s attached below.

For further assistance, please send mail to

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

The mail system
EOF

В пределах блока <<EOF...EOF символ $ имеет специальное значение, и если требуется его указать в тексте, то следует использовать $$.
За пределами этого блока, строки начинающиеся на # игнорируются.
В тексте шаблона можно использовать любые переменные из файла /etc/postfix/main.cf, например $myhostname.
Что бы проверить ваш файл на валидность можно использовать команду:

postconf -b /etc/postfix/bounce.cf

Для стандартно настроенной убунты, в заголовке Charset: следует указать кодировку UTF-8, именно в таком формате.
Тему сообщения (subject) на русском писать нельзя, вместо этого следует использовать специально закодированную строку (для кодирования можно воспользоваться сервисом кодирования http://www.sendblaster.com/en/utf8-email-subject-encoder)

Добавить комментарий

Войти с помощью: