Назад | Перейти на главную страницу

Постфикс: не создавать рикошеты для virtual_alias_maps с удаленными серверами

Я использую virtual_alias_maps для пересылки почты на удаленные почтовые серверы (GMail, icloud). У меня есть защита от спама (проверки SPF, фильтр содержимого до очереди и т. Д.), Но часто Postfix принимает достаточно спама, ставится в очередь, а затем вышестоящий почтовый сервер может отклонить его, что затем заставляет Postfix отправлять сообщение о недоставке . Я бы предпочел сразу отклонить почту, как если бы фильтр содержимого до очереди обнаружил, что это спам.

В https://stackoverflow.com/a/30175673/15690 было предложено использовать discard для bounce сервис (возможно, сузив его с помощью header_checks), но это все равно отбрасывает возврат (т.е. молчаливо отбрасывает почту), вместо того, чтобы отклонять его в первую очередь. Также мне неясно, как это можно применить только к определенным случаям, например. когда virtual_alias_maps использовался в целом и / или для конкретных кодов возврата (чтобы не отклонять законные отказы, например, если учетная запись закрыта и т. д.).

Может ли Postfix не ставить в очередь письма, которые будут пересылаться через virtual_alias_maps (или некоторые домены оттуда), но вместо этого действуют как прокси (т.е. аналогично smtpd_proxy_filter но на удаленный сервер).

Это для небольшого почтового сервера, поэтому можно заблокировать один принимающий сервер smtpd для этого. Было бы хорошо, если бы эти сообщения никогда не ставились в локальную очередь.

Журнал выглядит так:

postfix/smtpd[5364]: connect from source.com[X.X.X.X]
…
postfix/smtpd[5364]: NOQUEUE: client=source.com[X.X.X.X]
postfix/smtpd[5372]: connect from amavis[internal24]
postfix/smtpd[5372]: D6749620E2: client=amavis[internal24], orig_client=source.com[X.X.X.X]
postfix/cleanup[5373]: D6749620E2: message-id=<o73vp3cKZBsxE85eDO@rbh.source.com>
postfix/qmgr[12066]: D6749620E2: from=<sender@source.com>, size=5076, nrcpt=1 (queue active)
postfix/smtpd[5372]: disconnect from amavis[internal24]
postfix/smtpd[5364]: proxy-accept: END-OF-MESSAGE: 250 2.0.0 from MTA(smtp:[internal25]:10025): 250 2.0.0 Ok: queued as D6749620E2; from=<sender@source.com> to=<recipient@postfix> proto=ESMTP helo=<source.com>
postfix/smtpd[5364]: disconnect from source.com[X.X.X.X]
postfix/smtp[5374]: D6749620E2: to=<forwarded@me.com>, orig_to=<recipient@postfix>, relay=mx4.mail.icloud.com[17.178.97.73]:25, delay=3.1, delays=0.07/0.01/1.7/1.3, dsn=5.7.1, status=bounced (host mx4.mail.icloud.com[17.178.97.73] said: 550 5.7.1 [CS01] Message rejected due to local policy. Please visit https://support.apple.com/en-us/HT204137 (in reply to end of DATA command))
postfix/cleanup[5373]: 198966214E: message-id=<20181003055857.198966214E@host.postfix>
postfix/qmgr[12066]: 198966214E: from=<>, size=7279, nrcpt=1 (queue active)
postfix/bounce[5375]: D6749620E2: sender non-delivery notification: 198966214E
postfix/cleanup[5373]: 2E1286214F: message-id=<20181003055857.2E1286214F@host.postfix>
postfix/qmgr[12066]: 2E1286214F: from=<double-bounce@host.postfix>, size=4880, nrcpt=1 (queue active)
postfix/bounce[5375]: D6749620E2: postmaster non-delivery notification: 2E1286214F
postfix/qmgr[12066]: D6749620E2: removed
postfix/smtp[5374]: 198966214E: to=<sender@source.com>, relay=source.com[185.207.8.246]:25, delay=0.14, delays=0.08/0/0.05/0, dsn=4.0.0, status=deferred (host source.com[185.207.8.246] refused to talk to me: 421 Too many concurrent SMTP connections; please try again later.)