Mailserver ignoriert bei der Mail-Zustellung mit Content-Filter zusätzliche Empfängeradressen
Hallo,
ich wollte auf einem Mailserver (Postfix, Courier, MySQL, Amavis) einen
Autoresponder für Urlaubsbenachrichtigungen einrichten, die einfach von
jedem User per eMail selbst aktiviert/deaktiviert werden können. Ich
verwende das Skript von Charles Hamilton wie auf dieser Seite
beschrieben
https://www.howtoforge.com/how-to-set-up-a-postfix-autoresponder-with-autore...
. Das Skript wird hier in der master.cf als content_filter unter dem
Service smtp angegeben. Da ich aber die eMails in Echtzeit von Amavis
überprüfen lasse durch Portumleitungen
(smtpd_proxy_filter=localhost:10024), musste ich den content_filter
unter dem Service localhost:10025 definieren (autoresponder:dummy),
damit es aufgerufen wird. Dies ist die einzige Abweichung von der
Konfigurationsanleitung. Das Aktivieren / Deaktivieren der
Benachrichtigungen funktioniert auch soweit. Allerdings wird bei
normalen eMails die eMail nur immer einer Empfängeradresse zugestellt,
wenn die Mail mehrere Empfängeradressen enthält! Alle anderen werden
scheinbar ignoriert. Da weiß ich nicht weiter.
Hier ein paar Angaben aus der master.cf
# port 25 auf Port 10024 umleiten / Echtzeitüberprüfung durch Amavis
(kein Store&Foreward)
smtp inet n - - - - smtpd
-o smtpd_proxy_filter=localhost:10024
-o content_filter=
smtps inet n - - - - smtpd
-o smtpd_proxy_filter=localhost:10024
-o content_filter=
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
#Konfiguration Port 10025 für Rückgabe der durch Amavis überprüften eMails
localhost:10025 inet n - - - - smtpd
-o content_filter=autoresponder:dummy
-o smtpd_proxy_filter=
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=
-o mynetworks=127.0.0.0/8
-o receive_override_options=no_unknown_recipient_checks
Am Ender der master.cf steht der Service autoresponder
autoresponder unix - n n - - pipe
flags=Fq user=autoresponse argv=/usr/local/sbin/autoresponse -s
${sender} -r ${recipient} -S ${sasl_username} -C ${client_address}
Mit dieser Einstellung sehe ich dann in mail.log folgende Einträge, wenn
ich eine normale eMail an mehrere User sende:
Dec 30 14:36:19 mailserver1 postfix/qmgr[20818]: 6C5FB276291:
from=
Frohes Neues! Das Problem habe ich doch noch lösen können. Beim Blättern im Postfix-Buch bin ich auf den Abschnitt gestoßen: "Anschließend sollten Sie dafür sorgen, dass eMails mit mehreren Empfängern stehts für jeden Empfänger einzeln an das Script übergeben werden. Definieren Sie dafür den Parameter transportmethode_recipient_limit. Eine weitere Erklärung fand ich dann hier http://linux.die.net/man/8/pipe Some destinations cannot handle more than one recipient per delivery request. Examples are pagers or fax machines. In addition, multi-recipient delivery is undesirable when prepending a Delivered-to: or X-Original-To: message header. To prevent Postfix from sending multiple recipients per delivery request, specify transport_destination_recipient_limit = 1 in the Postfix main.cf file, where transport is the name in the first column of the Postfix master.cf entry for the pipe-based delivery transport. In meinem Fall dann autoresponder_destination_recipient_limit = 1 Gruß, Thomas Barth
participants (1)
-
Thomas Barth