mail mit 5xx rejecten, aber dennoch speichern / lokal ausliefern
Jan P. Kessler
postfix at jpkessler.info
Do Jul 20 19:19:17 CEST 2017
> Moin Moin,
>
> Vorweg: Ja, das ist eine eher schräge Idee und ich mache das
> nur auf einem (mehr oder weniger) Forschungs-Setup¹ ;-)
>
> Ich würde gerne auf einem bestimmten Relay _jegliche_ eingehende
> Mail nach end of DATA mit einem 5xx rejecten, die eingelieferte
> Mail aber dennoch "silent" ganz normal mit einer zusätzlichen
> Header-Zeile angereichert ausliefern. Falls der Ziel-Mailserver
> Probleme hat, sollte es idealerweise keinen bounce geben.
>
> Gibt es einen eleganten, simplen, Weg, sowas mit postfix
> zu erreichen? Ein explizit dafür geschriebener policy-daemon
> erscheint als overkill, always_bcc wird wohl in dem Fall
> nicht anwendbar sein.
Nein und ein Policy Daemon würde hier ebenfalls nicht funktionieren. Der
sieht nur Envelope Daten und kann dann auch nur postfix veranlassen,
anzunehmen oder zu verweigern.
Allenfalls mit einem Prequeue Content Filter oder Milter wäre das lösbar
(ohne zu bouncen jdf). Der bekommt die Mail und kann nach dem
END_OF_DATA des Client einen 5xx zurückgeben, die Mail aber trotzdem
weitertransportieren.
> ¹) Usecase ist ein IPv6-only System, bei dem ich den
> potentiellen IPv4-only Clients schnell eine
> Fehlermeldung zukommen lassen möchte, daß Ihre Mail
> so nicht ankommen wird. Idealerweise sofort und
> mit einem gut verständlichen Text und in der
> Hoffnung, daß das überhaupt jemand liest.
>
> Ich habe schon verschiedene Ansätze probiert, z.B.
> einfach gar keinen IPv4-MX zu deinieren. Da dauert
> es ewig, bis die Absender was mitbekommen und ich
> kann die Queue-Haltezeit natürlich nicht selbst
> kontrollieren. Darüber hinaus versteht fast niemand,
> was das Problem ist, weil aus Sicht des IPv4-only
> Servers das Ziel einfach gar nicht existiert
> und die Fehlermeldung dann einfach irreführend ist.
> Einen "sprechenden" MX Namen zu verwenden, also
> z.B. "this.domain.is.ipv6.only.<sld>.<tld>" macht
> die Sache nicht unbedingt besser. Daher nun der
> Ansatz, vorrübergehend quasi einen IPv4-Bouncer
> einzurichten. Nicht schön, würde im Moment
> aber erstmal für meine Zwecke reichen, denn es
> gibt einen extra Twist: Ich habe mich entschieden,
> das mit einer privaten Domain zu machen, die schon
> lange in Benutzung ist und möchte sichergehen, daß
> ich im Zweifel keine Mails, auch keine von wichtigen
> $IPv4OnlyServices wie meiner Bank, DB, Github, [...]
> verliere. Ich bin zwar wahnsinnig, aber nicht
> komplett irre ;-)
Ab hier IMO:
Naja, ich weiß nicht... Du erzeugst vermutlich auch Bounces zu dieser
Liste. Von "außen" betrachtet und im normalen Mengengewerk von Admins
großer Installationen wirkt das "unzustellbar" und Deine Subscription
wird entfernt. Was genau willst Du denn erreichen? Meinst Du, die Github
Leute oder die Admins der DB lesen Deine Bounces und konfigurieren dann
nen v6-only Transport für Dich?
Wenn Du nix verlieren willst, nimm 'ne "Labordomain" und gib die Adresse
nicht überall an. Oder setze MX10 auf v6 und MX20 auf v4.
Wenn Du "hart" sein willst, kill' den v4 MX und steh's durch. Dass Du
mit dem Entschluss bereits Probleme hattest, könnte aber darauf
hindeuten, dass ein Teil der Welt noch nicht so weit ist wie Du und auf
v4 noch nicht verzichten kann/möchte - oder vielleicht bist es ja auch
Du, der nicht auf die schnöden v4-Mails verzichten möchte ;)
Vg, Jan
Mehr Informationen über die Mailingliste Postfixbuch-users