Я пытаюсь настроить свой почтовый сервер postfix (2.9.6), чтобы сначала попытаться доставлять сообщения непосредственно получателю MX, а затем вернуться к ретрансляции через почтовый сервер моего провайдера, если он получает код состояния 5xx. Мой почтовый сервер находится на конце домашнего широкополосного подключения, поэтому он не справляется с фильтрацией спамхауса. Я знаю, что могу ретранслировать все через сервер своего интернет-провайдера, но я бы предпочел этого не делать, если это не является абсолютно необходимым. Назовите меня параноиком.
Я надеялся, что что-то подобное в main.cf выполнит эту работу (порт 11125 является шлейфом для почтового реле моего интернет-провайдера и работает, если я установил его как relayhost)
relayhost =
smtp_skip_5xx_greeting = yes
smtp_fallback_relay = [127.0.0.1]:11125
Это просто отскакивает, например
Nov 19 12:46:15 mail-server postfix/smtp[14459]: E9275744: to=<test@hotmail.co.uk>, relay=mx2.hotmail.com[65.55.92.136]:25, delay=1.3, delays=0.04/0.01/0.46/0.81, dsn=5.0.0, status=bounced (host mx2.hotmail.com[65.55.92.136] said: 550 OU-002 (SNT0-MC1-F51) Unfortunately, messages from xx.xx.xx.xx weren't sent. Please contact your Internet service provider since part of their network is on our block list. You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors. (in reply to end of DATA command))
Итак, возможна ли попытка Postfix доставить через резервный ретранслятор перед лицом такого сообщения?
В конфиге такой опции нет. Возможно, вы сделаете что-нибудь творческое с помощью сценария, который добавляет целевой домен в транспортную таблицу и повторно отправляет электронное письмо. Но я бы посоветовал вам либо получить сервер от поставщика colo, который недостаточно заражен спамом, чтобы его можно было добавить в черные списки, либо просто использовать сервер вашего ISP: s.