Mailserver ignoriert bei der Mail-Zustellung mit Content-Filter zusätzliche Empfängeradressen
Thomas Barth
txbarth at web.de
Di Dez 30 20:09:11 CET 2014
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-autoresponse
. 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=<txbarth at web.de>, size=1387, nrcpt=2 (queue active)
Dec 30 14:36:19 mailserver1 amavis[16543]: (16543-13) Passed CLEAN,
[212.227.17.11] [xx.xx.xxx.xx] <txbarth at web.de> ->
<user1 at mydomain.de>,<user2 at mydomain.de>, Message-ID:
<54A2AA4E.6020801 at web.de>, mail_
id: sCfjhIs-o9we, Hits: -1.9, size: 974, queued_as: 6C5FB276291, 325 ms
Dec 30 14:36:19 mailserver1 postfix/smtpd[20831]: proxy-accept:
END-OF-MESSAGE: 250 2.0.0 Ok, id=16543-13, from MTA([127.0.0.1]:10025):
250 2.0.0 Ok: queued as 6C5FB276291; from=<txbarth at web.de>
to=<user1 at mydomain.de> proto=ESMTP helo=<mout.web.de>
Dec 30 14:36:19 mailserver1 postfix/smtpd[20831]: disconnect from
mout.web.de[212.227.17.11]
Dec 30 14:36:21 mailserver1 postfix/pickup[20817]: 730DA2762BD: uid=5002
from=<txbarth at web.de>
Dec 30 14:36:21 mailserver1 postfix/pipe[20838]: 6C5FB276291:
to=<user2 at mydomain.de>, relay=autoresponder, delay=2, delays=0.01/0/0/2,
dsn=2.0.0, status=sent (delivered via autoresponder service)
Dec 30 14:36:21 mailserver1 postfix/pipe[20838]: 6C5FB276291:
to=<user1 at mydomain.de>, relay=autoresponder, delay=2, delays=0.01/0/0/2,
dsn=2.0.0, status=sent (delivered via autoresponder service)
Dec 30 14:36:21 mailserver1 postfix/qmgr[20818]: 6C5FB276291: removed
Dec 30 14:36:21 mailserver1 postfix/cleanup[20837]: 730DA2762BD:
message-id=<54A2AA4E.6020801 at web.de>
Dec 30 14:36:21 mailserver1 postfix/qmgr[20818]: 730DA2762BD:
from=<txbarth at web.de>, size=1507, nrcpt=1 (queue active)
Dec 30 14:36:21 mailserver1 postfix/virtual[20850]: 730DA2762BD:
to=<user2 at mydomain.de>, relay=virtual, delay=0.02, delays=0/0.01/0/0,
dsn=2.0.0, status=sent (delivered to maildir)
Dec 30 14:36:21 mailserver1 postfix/qmgr[20818]: 730DA2762BD: removed
Hier erscheint zweimal "delivered via autoresponder service", also für
jede Empfängeradresse, aber nur einmal "delivered to maildir" für nur
eine Empfängeradresse. Durch eine Kontrollausgabe im Autoresponder habe
ich gesehen, dass es tatsächlich nur einmal aufgerufen wird.
Wenn ich den Autoresonder wieder rausnehme, bekommen alle
Empfängeradressen die eMail zugestellt.
Dec 30 13:45:34 mailserver1 postfix/qmgr[19192]: 7F6BC276291:
from=<txbarth at web.de>, size=100131, nrcpt=2 (queue active)
Dec 30 13:45:34 mailserver1 amavis[16543]: (16543-09) Passed CLEAN,
[212.227.15.4] [xx.xx.xx.xx] <txbarth at web.de> ->
<user1 at mydomain.de>,<user2 at mydomain.de>, Message-ID:
<54A29E68.30505 at web.de>, mail_id: enMVd7SzLQVj, Hits: -1.9, size: 99718,
queued_as: 7F6BC276291, 418 ms
Dec 30 13:45:34 mailserver1 postfix/smtpd[19220]: proxy-accept:
END-OF-MESSAGE: 250 2.0.0 Ok, id=16543-09, from MTA([127.0.0.1]:10025):
250 2.0.0 Ok: queued as 7F6BC276291; from=<thomasxbarth at web.de>
to=<user1 at mydomain.de> proto=ESMTP helo=<mout.web.de>
Dec 30 13:45:34 mailserver1 postfix/virtual[19230]: 7F6BC276291:
to=<user1 at mydomain.de>, relay=virtual, delay=0.03,
delays=0.02/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to maildir)
Dec 30 13:45:34 mailserver1 postfix/virtual[19230]: 7F6BC276291:
to=<user2 at mydomain.de>, relay=virtual, delay=0.03,
delays=0.02/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to maildir)
Dec 30 13:45:34 mailserver1 postfix/qmgr[19192]: 7F6BC276291: removed
Kann mir vielleicht jemand weiterhelfen, warum eine eMail mit dem
Content-Filter nicht jedem angegebenen Empfänger zugestellt wird?
Gruß, Thomas Barth
Mehr Informationen über die Mailingliste postfix-users