Postfix – Nachrichten mit bestimmten Header-Werten vom Relayhost ausschließen?

Postfix – Nachrichten mit bestimmten Header-Werten vom Relayhost ausschließen?

Beginnen Sie mit der folgenden Grundkonfiguration, um alle Nachrichten in Postfix an PostMarkApp.com weiterzuleiten:

#start postmarkapps settings
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:secret:secret (where "secret is your API key")
smtp_sasl_security_options = noanonymous
relayhost = [smtp.postmarkapp.com]:25
#end postmarkapp settings

Das Problem dabei ist, dass, wenn beispielsweise etwas anfängt, Fehlermeldungen auszuspucken, diese alle über PostMark laufen und Geld kosten.

Eine Möglichkeit, dies zu umgehen, relayhostbesteht darin, bestimmte Adressen so einzurichten sender_dependent_relayhost_maps, dass sie auf yourdomain.com zurückverfolgt werden. Dies funktioniert jedoch nicht in Webanwendungen, in denen alle Nachrichten vom selben Benutzer gesendet werden, aber unterschiedliche Absender-Header haben.

Wie kann ich also denselben Effekt erzielen, sender_dependent_relayhost_mapsindem ich mir die Kopfzeilen „Von“ oder „Betreff“ ansehe und nicht nur den Benutzer?

Antwort1

Sie benötigen Postfix 2.5 oder höher.

Dann im main.cfSet smtp_header_checks = pcre:/etc/postfix/dont_relay_this_header.

Schreiben/etc/postfix/dont_relay_this_header

/^Subject:.*viagra/  REJECT You are not allowed to send out advertisement

Ändern Sie den Inhalt der Datei dont_relay_this_header nach Bedarf. Weitere Informationen finden Sie imheader_checksHandbuch.

Antwort2

Ich habe dies gelöst, indem ich es von der anderen Seite angegriffen habe, d. h., ich habe keine E-Mails an einen bestimmten Empfänger über den Relayhost gesendet.

Bearbeiten /etc/postfix/main.cf:

#start postmarkapps settings
transport_maps = hash:/etc/postfix/transport
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:secret:secret (where "secret is your API key")
smtp_sasl_security_options = noanonymous
relayhost =
#end postmarkapp settings

Bearbeiten /etc/postfix/transport:

[email protected] :
* smtp:[smtp.postmarkapp.com]:25

Und Renn postmap /etc/postfix/transport.

Jetzt schicke ich alle meine Fehlermeldungen einfach an[email geschützt]und sie werden nicht per PostMark verschickt.

verwandte Informationen