postfix ausgehende E-Mails mit einem bestimmten Betreff automatisch verwerfen lassen

arpwatch und Apple-Geräte wie Apple TV und Time Capsules sind keine guten Freunde.

Überwacht man das lokale Netzwerk mit arpwatch und hat im selben Netzwerk einen Apple TV sowie mindestens eine Time Capsule stehen, wird man damit konfrontiert, dass die IP des Apple TVs (scheinbar, aus Sicht von arpwatch) konstant die MAC-Adresse wechselt.

Ich vermute Folgendes hinter diesem komischen Sympton: Geht der Apple TV schlafen, simuliert die Time Capsule den Apple TV und seine Funktionen irgendwie im Netzwerk — wahrscheinlich, damit man auf iOS-Geräten den Apple TV weiterhin „sieht“ und als AirPlay-Ziel anwählen kann. Erfolgt dann tatsächlich eine solche Anfrage, erweckt die Time Capsule den Apple TV irgendwie aus den Schlaf und das iOS-Device kann dann auf den Fernseher streamen. Man möge mich korrigieren, wenn ich (völlig) falsch liege.

Leider hat dieses Verhalten den unerwünschten Nebeneffekt, dass arpwatch konstant meine INBOX vollballert mit Meldungen zur Apple TV IP, welche ständig die MAC-Adresse zu wechseln scheint.

Da ich kein Netzwerkprofi bin und nicht C programmieren kann, verwehrt sich mir der Weg, arpwatch mit einer Funktion auszustatten, MAC-Wechsel von Apple-Geräten zu ignorieren.

Ich setze deshalb später in der Verarbeitungskette an und verwende einen Filter in postfix, um Mails mit einem bestimmten Betreff nicht mehr an mein Mailkonto weiterzuleiten. Dies ist ganz simpel, sofern man bereits eine funktionierende postfix-Installation am Laufen hat:

/etc/postfix/header_checks

/^Subject:.*flip flop \(apple-tv.domain.local\).*/ DISCARD

/etc/postfix/main.cf

...
header_checks = regexp:/etc/postfix/header_checks

Und Ruhe ist. Wenn man sich nicht sicher ist, ob postfix überhaupt etwas blockt, oder wenn man befürchtet, dass postfix zu viele Mails verwirft, hilft /var/log/postfix.log weiter:

$ cat /var/log/postfix.log | grep discard
...
Jul 27 22:41:23 SERVER postfix/cleanup[8564]: A8BCB1560312: discard: header Subject: flip flop (apple-tv.domain.local) from local; from=<root@SERVER>