Postfix отказов локальной доставки с адресом источника из orig_to
Я создаю скрипт на python для доставки локальной почты различными способами. Проблема заключается в следующем:
- Этот скрипт должен принимать несколько виртуальных доменов, определенных в / etc / postfix / virtual
- Сценарий проверяет, является ли получатель действительным, а содержимое соответствует ожидаемому, и завершает работу с соответствующим кодом (4.xx 5.xx), если нет
Проблема в том, что я хочу, чтобы bounce исходил от адреса получателя (orig_to) или bounce@receientdomain, возможно ли это?
Настроить:
/ И т.д. / постфикса / виртуальный:
@domain1 pymail
@domain2 pymail
@domain3 pymail
@domain4 pymail
@domain5 pymail
/ etc / postfix / master: (содержит)
pymail unix - n n - - pipe
flags=FR user=pymail argv=/path/to/script.py ${sender} ${recipient}
/ И т.д. / постфикса / транспорт:
* pymail:
/etc/postfix/main.cf:
pymail_destination_recipient_limit = 1
transport_maps = hash:/etc/postfix/transport
virtual_alias_domains = domain1 domain2 domain3 domain4 domain5
virtual_alias_maps = hash:/etc/postfix/virtual
2 ответа
Я не мог найти способ сделать это, поэтому в конце я просто написал в скрипт Python, чтобы отправить сообщение об ошибке отправителю с правильного адреса.
Проблема в том, что когда postfix доставляет вашу почту в python, она уже принята.
НЕ принимайте почту, которую вы не собираетесь доставлять; Отскок назад - один из худших видов спама.
Вместо этого определите допустимых получателей в postfix, а не в python, и позвольте postfix отклонять нежелательную или недоставляемую почту.
Вам также нужно будет поиграть с аргументами pipe(8) и различными вариантами параллелизма назначения, чтобы это работало гладко.