postfix: как создать отскок

851
Sergey Romanovsky

Есть ли способ генерировать отскок программно? Единственное, что я нашел, это флаг "-N" в оболочке sendmail и параметр конфигурации bounce_template_file :

/usr/sbin/sendmail -N failure 

Но по какой-то причине он генерирует обычное сообщение. Даже не используя шаблон отказов.

Вот сценарий: postfix принял сообщение извне и отправил его во внешний фильтр через SMTP. Опираясь на политику, мы решили отклонить сообщение. Теперь нам нужно сгенерировать отчет о недоставке. Как это сделать с постфиксом?

Спасибо!

0

1 ответ на вопрос

1
davidgo

Вы просто создадите новое электронное письмо и отправите его отправителю.

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

Запись в главной таблице может выглядеть примерно так

bouncer unix - n n - - pipe flags=Rq user=nobody argv=/path/to/bounce.script $ $ 

Вместо того, чтобы отправлять отправку сообщения в REJECT, вы бы отправили его "вышибалу". Не уверен, как ты это отвергаешь, поэтому не уверен, как сказать, чтобы он пошел вместо вышибалы. Я думаю, вы могли бы использовать для этого транспортную таблицу или таблицу header_checks с целью FILTER.

Простой PHP-скрипт для отправки отказов (непроверенный) может выглядеть примерно так:

#! /usr/bin/php <?php # Make sure phpmailer is installed ! (apt-get install phpmailer # or download from source and adjust path) include phpmailer/class.phpmailer.php  $from=$argv[1]; $to=$argv[2];  $tz=date_default_timezone_get(); date_default_timezone_set($tz);  $message="Bounce Message text here"; $msg=new PHPMailer(); $msg->From=$to; $msg->FromName=$from; $msg->Subject="Bounce Notification Subject Line"; $msg->Body="Bounce Notification Message"; $msg->AddAddresses($from); $msg->send(); ?> 
Спасибо, Дэйв, хотя я надеялся обойтись без сценариев. Postfix уже имеет эту встроенную функциональность: шаблоны, правильный контент / тип и т. Д. В любом случае, спасибо за ваше предложение. Sergey Romanovsky 8 лет назад 0

Похожие вопросы