Verteilerliste mit virtual aliases - address rewriting
Hallo Liste,
Gleich vorab: Bitte keine Kommentare bezüglich "verwende doch mailman" oder "schreib den alias doch ins BCC Feld"
Ich habe da einige aliases in meiner DB, welche ich als Verteilerliste verwenden möchte. virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual-alias-maps.cf
+-----+-----------+------------------------+------------------------+ | id | domain_id | source | destination | +-----+-----------+------------------------+------------------------+ | 1 | 2 | abt-versand@meinedomain.at | email1@meinedomain.at | | 2 | 2 | abt-versand@meinedomain.at | email2@meinedomain.at | | 3 | 2 | abt-versand@meinedomain.at | email3@meinedomain.at | +-----+-----------+------------------------+------------------------+
Das ganze funktioniert prima, allerdings hätte ich gerne, dass Empfänger nicht sehen, dass das E-Mail an abt-versand@meinedomain.at gesendet wurde, sondern dass das E-Mail an email1@meinedomain.at, email2@meinedomain.at und email3@meinedomain.at gesendet wurde.
Ich möchte einfach verhindern, wenn ein E-Mail z.B. extern an office@irgendeinkunde.at versendet und der alias ("Verteiler" ) abt-versand@meinedomain.at im Feld CC steht, dass dieser alias (Verteiler) NICHT als solcher beim Kunden z.B. ersichtlich ist. Trotzdem möchte ich, dass der Kunde sieht, dass das E-Mail als CC auch an email1@meinedomain.at, email2@meinedomain.at und email3@meinedomain.at gesendet wurde
Kann man das mit address rewriting umsetzen und wenn ja wie?
Ich hoffe, ich habe mich klar genug ausgedrückt
Anbei noch meine master.cf, falls hier was zu ändern ist:
# ========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (no) (never) (100) # ========================================================================== #smtp inet n - y - - smtpd smtp inet n - y - 1 postscreen smtpd pass - - y - - smtpd -o smtpd_sasl_auth_enable=no dnsblog unix - - y - 0 dnsblog tlsproxy unix - - y - 0 tlsproxy submission inet n - y - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes # -o smtpd_tls_auth_only=yes -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions -o smtpd_recipient_restrictions= -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #smtps inet n - y - - smtpd # -o syslog_name=postfix/smtps # -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #628 inet n - y - - qmqpd pickup unix n - y 60 1 pickup cleanup unix n - y - 0 cleanup qmgr unix n - n 300 1 qmgr #qmgr unix n - n 300 1 oqmgr tlsmgr unix - - y 1000? 1 tlsmgr rewrite unix - - y - - trivial-rewrite bounce unix - - y - 0 bounce defer unix - - y - 0 bounce trace unix - - y - 0 bounce verify unix - - y - 1 verify flush unix n - y 1000? 0 flush proxymap unix - - n - - proxymap proxywrite unix - - n - 1 proxymap smtp unix - - y - - smtp relay unix - - y - - smtp -o syslog_name=postfix/$service_name # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 showq unix n - y - - showq error unix - - y - - error retry unix - - y - - error discard unix - - y - - discard local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - y - - lmtp anvil unix - - y - 1 anvil scache unix - - y - 1 scache postlog unix-dgram n - n - 1 postlogd # # ==================================================================== # Interfaces to non-Postfix software. Be sure to examine the manual # pages of the non-Postfix software to find out what options it wants. # # Many of the following services use the Postfix pipe(8) delivery # agent. See the pipe(8) man page for information about ${recipient} # and other message envelope options. # ==================================================================== # # maildrop. See the Postfix MAILDROP_README file for details. # Also specify in main.cf: maildrop_destination_recipient_limit=1 # maildrop unix - n n - - pipe flags=DRXhu user=vmail argv=/usr/bin/maildrop -d ${recipient} # # ==================================================================== # # Recent Cyrus versions can use the existing "lmtp" master.cf entry. # # Specify in cyrus.conf: # lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4 # # Specify in main.cf one or more of the following: # mailbox_transport = lmtp:inet:localhost # virtual_transport = lmtp:inet:localhost # # ==================================================================== # # Cyrus 2.1.5 (Amos Gouaux) # Also specify in main.cf: cyrus_destination_recipient_limit=1 # #cyrus unix - n n - - pipe # flags=DRX user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} # # ==================================================================== # Old example of delivery via Cyrus. # #old-cyrus unix - n n - - pipe # flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user} # # ==================================================================== # # See the Postfix UUCP_README file for configuration details. # uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) # # Other external delivery methods. # ifmail unix - n n - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) bsmtp unix - n n - - pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient scalemail-backend unix - n n - 2 pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension} mailman unix - n n - - pipe flags=FRX user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
Hallo Liste,
Hab jetzt ziemlich rumprobiert und lt. folgender readme müsste es doch möglich sein einen alias in seine einzelnen Adressen umzuschreiben: Hier drin steht:
*
Replace an address by multiple addresses. For example, replace the address of an alias by the addresses listed under that alias.
readme: https://www.postfix.org/ADDRESS_REWRITING_README.html
meine sender_canonical_maps bzw. meine recipient_canonical_maps sehen so aus: abt-versand@meinedomain.at email1@meinedomain.at,email2@meinedomain.at,email3@meinedomain.at
Versende ich nun eine E-Mail an meine externe private E-Mail-Adresse und CC an abt-versand@meinedomain.at, sehe ich trotzdem nur den alias "abt-versand@meinedomain.at" nicht aber die einzelnen 3 E-Mail-Adressen, die diesen alias haben.
Keiner eine Idee?
VG, Andi
Am 30.09.2022 um 11:29 schrieb Andreas Wass - Glas Gasperlmair:
Hallo Liste,
Gleich vorab: Bitte keine Kommentare bezüglich "verwende doch mailman" oder "schreib den alias doch ins BCC Feld"
Ich habe da einige aliases in meiner DB, welche ich als Verteilerliste verwenden möchte. virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual-alias-maps.cf
+-----+-----------+------------------------+------------------------+ | id | domain_id | source | destination | +-----+-----------+------------------------+------------------------+ | 1 | 2 | abt-versand@meinedomain.at | email1@meinedomain.at | | 2 | 2 | abt-versand@meinedomain.at | email2@meinedomain.at | | 3 | 2 | abt-versand@meinedomain.at | email3@meinedomain.at | +-----+-----------+------------------------+------------------------+
Das ganze funktioniert prima, allerdings hätte ich gerne, dass Empfänger nicht sehen, dass das E-Mail an abt-versand@meinedomain.at gesendet wurde, sondern dass das E-Mail an email1@meinedomain.at, email2@meinedomain.at und email3@meinedomain.at gesendet wurde.
Ich möchte einfach verhindern, wenn ein E-Mail z.B. extern an office@irgendeinkunde.at versendet und der alias ("Verteiler" ) abt-versand@meinedomain.at im Feld CC steht, dass dieser alias (Verteiler) NICHT als solcher beim Kunden z.B. ersichtlich ist. Trotzdem möchte ich, dass der Kunde sieht, dass das E-Mail als CC auch an email1@meinedomain.at, email2@meinedomain.at und email3@meinedomain.at gesendet wurde
Kann man das mit address rewriting umsetzen und wenn ja wie?
Ich hoffe, ich habe mich klar genug ausgedrückt
Anbei noch meine master.cf, falls hier was zu ändern ist:
#
# service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (no) (never) (100)
#
#smtp inet n - y - - smtpd smtp inet n - y - 1 postscreen smtpd pass - - y - - smtpd -o smtpd_sasl_auth_enable=no dnsblog unix - - y - 0 dnsblog tlsproxy unix - - y - 0 tlsproxy submission inet n - y - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes # -o smtpd_tls_auth_only=yes -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions -o smtpd_recipient_restrictions= -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #smtps inet n - y - - smtpd # -o syslog_name=postfix/smtps # -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #628 inet n - y - - qmqpd pickup unix n - y 60 1 pickup cleanup unix n - y - 0 cleanup qmgr unix n - n 300 1 qmgr #qmgr unix n - n 300 1 oqmgr tlsmgr unix - - y 1000? 1 tlsmgr rewrite unix - - y - - trivial-rewrite bounce unix - - y - 0 bounce defer unix - - y - 0 bounce trace unix - - y - 0 bounce verify unix - - y - 1 verify flush unix n - y 1000? 0 flush proxymap unix - - n - - proxymap proxywrite unix - - n - 1 proxymap smtp unix - - y - - smtp relay unix - - y - - smtp -o syslog_name=postfix/$service_name # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 showq unix n - y - - showq error unix - - y - - error retry unix - - y - - error discard unix - - y - - discard local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - y - - lmtp anvil unix - - y - 1 anvil scache unix - - y - 1 scache postlog unix-dgram n - n - 1 postlogd # # ==================================================================== # Interfaces to non-Postfix software. Be sure to examine the manual # pages of the non-Postfix software to find out what options it wants. # # Many of the following services use the Postfix pipe(8) delivery # agent. See the pipe(8) man page for information about ${recipient} # and other message envelope options. # ==================================================================== # # maildrop. See the Postfix MAILDROP_README file for details. # Also specify in main.cf: maildrop_destination_recipient_limit=1 # maildrop unix - n n - - pipe flags=DRXhu user=vmail argv=/usr/bin/maildrop -d ${recipient} # # ==================================================================== # # Recent Cyrus versions can use the existing "lmtp" master.cf entry. # # Specify in cyrus.conf: # lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4 # # Specify in main.cf one or more of the following: # mailbox_transport = lmtp:inet:localhost # virtual_transport = lmtp:inet:localhost # # ==================================================================== # # Cyrus 2.1.5 (Amos Gouaux) # Also specify in main.cf: cyrus_destination_recipient_limit=1 # #cyrus unix - n n - - pipe # flags=DRX user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} # # ==================================================================== # Old example of delivery via Cyrus. # #old-cyrus unix - n n - - pipe # flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user} # # ==================================================================== # # See the Postfix UUCP_README file for configuration details. # uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) # # Other external delivery methods. # ifmail unix - n n - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) bsmtp unix - n n - - pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient scalemail-backend unix - n n - 2 pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension} mailman unix - n n - - pipe flags=FRX user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
Am 03.10.22 um 09:11 schrieb Andreas Wass - Glas Gasperlmair:
Hallo Liste,
Hab jetzt ziemlich rumprobiert und lt. folgender readme müsste es doch möglich sein einen alias in seine einzelnen Adressen umzuschreiben: Hier drin steht:
Replace an address by multiple addresses. For example, replace the address of an alias by the addresses listed under that alias.
readme: https://www.postfix.org/ADDRESS_REWRITING_README.html
meine sender_canonical_maps bzw. meine recipient_canonical_maps sehen so aus: abt-versand@meinedomain.at email1@meinedomain.at,email2@meinedomain.at,email3@meinedomain.at
Versende ich nun eine E-Mail an meine externe private E-Mail-Adresse und CC an abt-versand@meinedomain.at, sehe ich trotzdem nur den alias "abt-versand@meinedomain.at" nicht aber die einzelnen 3 E-Mail-Adressen, die diesen alias haben.
Keiner eine Idee?
Idee schon, aber nicht mit puren postfix du koenntest das wohl mit einer .forward , oder mit sieve machen etc evtl auch mit /usr/bin/sendmail ansonsten wuerde mir nur header_checks einfallen
hier ist sowas aehnliches muesst man dementsprechend abaendern
https://serverfault.com/questions/643070/postfix-rewriting-sender-with-gener...
aber das ist arges gefrickel, sorry mehr faellt mir grad nicht ein
milter koennte auch funktionieren http://www.snertsoft.com/sendmail/milter-ahead/
so wie ich das sehe kannst du die Mail vor der weiterleitung manipulieren oder danach, aber nicht waehrend oder mit der postfix weiterleitung
VG, Andi
Am 30.09.2022 um 11:29 schrieb Andreas Wass - Glas Gasperlmair:
Hallo Liste,
Gleich vorab: Bitte keine Kommentare bezüglich "verwende doch mailman" oder "schreib den alias doch ins BCC Feld"
Ich habe da einige aliases in meiner DB, welche ich als Verteilerliste verwenden möchte. virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual-alias-maps.cf
+-----+-----------+------------------------+------------------------+ | id | domain_id | source | destination | +-----+-----------+------------------------+------------------------+ | 1 | 2 | abt-versand@meinedomain.at | email1@meinedomain.at | | 2 | 2 | abt-versand@meinedomain.at | email2@meinedomain.at | | 3 | 2 | abt-versand@meinedomain.at | email3@meinedomain.at | +-----+-----------+------------------------+------------------------+
Das ganze funktioniert prima, allerdings hätte ich gerne, dass Empfänger nicht sehen, dass das E-Mail an abt-versand@meinedomain.at gesendet wurde, sondern dass das E-Mail an email1@meinedomain.at, email2@meinedomain.at und email3@meinedomain.at gesendet wurde.
Ich möchte einfach verhindern, wenn ein E-Mail z.B. extern an office@irgendeinkunde.at versendet und der alias ("Verteiler" ) abt-versand@meinedomain.at im Feld CC steht, dass dieser alias (Verteiler) NICHT als solcher beim Kunden z.B. ersichtlich ist. Trotzdem möchte ich, dass der Kunde sieht, dass das E-Mail als CC auch an email1@meinedomain.at, email2@meinedomain.at und email3@meinedomain.at gesendet wurde
Kann man das mit address rewriting umsetzen und wenn ja wie?
Ich hoffe, ich habe mich klar genug ausgedrückt
Anbei noch meine master.cf, falls hier was zu ändern ist:
#
# service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (no) (never) (100)
#
#smtp inet n - y - - smtpd smtp inet n - y - 1 postscreen smtpd pass - - y - - smtpd -o smtpd_sasl_auth_enable=no dnsblog unix - - y - 0 dnsblog tlsproxy unix - - y - 0 tlsproxy submission inet n - y - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes # -o smtpd_tls_auth_only=yes -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions -o smtpd_recipient_restrictions= -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #smtps inet n - y - - smtpd # -o syslog_name=postfix/smtps # -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #628 inet n - y - - qmqpd pickup unix n - y 60 1 pickup cleanup unix n - y - 0 cleanup qmgr unix n - n 300 1 qmgr #qmgr unix n - n 300 1 oqmgr tlsmgr unix - - y 1000? 1 tlsmgr rewrite unix - - y - - trivial-rewrite bounce unix - - y - 0 bounce defer unix - - y - 0 bounce trace unix - - y - 0 bounce verify unix - - y - 1 verify flush unix n - y 1000? 0 flush proxymap unix - - n - - proxymap proxywrite unix - - n - 1 proxymap smtp unix - - y - - smtp relay unix - - y - - smtp -o syslog_name=postfix/$service_name # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 showq unix n - y - - showq error unix - - y - - error retry unix - - y - - error discard unix - - y - - discard local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - y - - lmtp anvil unix - - y - 1 anvil scache unix - - y - 1 scache postlog unix-dgram n - n - 1 postlogd # # ==================================================================== # Interfaces to non-Postfix software. Be sure to examine the manual # pages of the non-Postfix software to find out what options it wants. # # Many of the following services use the Postfix pipe(8) delivery # agent. See the pipe(8) man page for information about ${recipient} # and other message envelope options. # ==================================================================== # # maildrop. See the Postfix MAILDROP_README file for details. # Also specify in main.cf: maildrop_destination_recipient_limit=1 # maildrop unix - n n - - pipe flags=DRXhu user=vmail argv=/usr/bin/maildrop -d ${recipient} # # ==================================================================== # # Recent Cyrus versions can use the existing "lmtp" master.cf entry. # # Specify in cyrus.conf: # lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4 # # Specify in main.cf one or more of the following: # mailbox_transport = lmtp:inet:localhost # virtual_transport = lmtp:inet:localhost # # ==================================================================== # # Cyrus 2.1.5 (Amos Gouaux) # Also specify in main.cf: cyrus_destination_recipient_limit=1 # #cyrus unix - n n - - pipe # flags=DRX user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} # # ==================================================================== # Old example of delivery via Cyrus. # #old-cyrus unix - n n - - pipe # flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user} # # ==================================================================== # # See the Postfix UUCP_README file for configuration details. # uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) # # Other external delivery methods. # ifmail unix - n n - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) bsmtp unix - n n - - pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient scalemail-backend unix - n n - 2 pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension} mailman unix - n n - - pipe flags=FRX user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
Danke Robert für deine Antwort,
seit ich folgenden Parameter in main.cf gesetzt habe
local_header_rewrite_clients = permit_mynetworks, permit_sasl_authenticated
funktioniert es zumindest mit der ersten adresse, welche ich in recipient_canonical_maps definiert habe
allerdings kommt dann folgender Fehler: Oct 3 10:47:40 testmailserver postfix/cleanup[4047]: warning: AAF2C442103: multi-valued recipient_canonical_maps entry for abt-versand@meinedomain.at
so wie es aussieht, ist die Tabelle recipient_canonical_maps nur single-value tauglich :-(
Zur Erinnerung: meine recipient_canonical_maps sieht so aus: abt-versand@meinedomain.at email1@meinedomain.at,email2@meinedomain.at,email3@meinedomain.at
Mit sieve discarde ich zumindest schon mal eingehende e-mails, wenn was von extern kommt und der alias abt-versand@meinedomain.at verwendet wird. Zuerst dachte ich an reject, allerding habe ich dann wieder eine Backscatter-Problematik, wenn ich das richtig sehe :-(
Am 03.10.2022 um 10:32 schrieb Robert Schetterer:
Am 03.10.22 um 09:11 schrieb Andreas Wass - Glas Gasperlmair:
Hallo Liste,
Hab jetzt ziemlich rumprobiert und lt. folgender readme müsste es doch möglich sein einen alias in seine einzelnen Adressen umzuschreiben: Hier drin steht:
*
Replace an address by multiple addresses. For example, replace the address of an alias by the addresses listed under that alias.
readme: https://www.postfix.org/ADDRESS_REWRITING_README.html
meine sender_canonical_maps bzw. meine recipient_canonical_maps sehen so aus: abt-versand@meinedomain.at email1@meinedomain.at,email2@meinedomain.at,email3@meinedomain.at
Versende ich nun eine E-Mail an meine externe private E-Mail-Adresse und CC an abt-versand@meinedomain.at, sehe ich trotzdem nur den alias "abt-versand@meinedomain.at" nicht aber die einzelnen 3 E-Mail-Adressen, die diesen alias haben.
Keiner eine Idee?
Idee schon, aber nicht mit puren postfix du koenntest das wohl mit einer .forward , oder mit sieve machen etc evtl auch mit /usr/bin/sendmail ansonsten wuerde mir nur header_checks einfallen
hier ist sowas aehnliches muesst man dementsprechend abaendern
https://serverfault.com/questions/643070/postfix-rewriting-sender-with-gener...
aber das ist arges gefrickel, sorry mehr faellt mir grad nicht ein
milter koennte auch funktionieren http://www.snertsoft.com/sendmail/milter-ahead/
so wie ich das sehe kannst du die Mail vor der weiterleitung manipulieren oder danach, aber nicht waehrend oder mit der postfix weiterleitung
VG, Andi
Am 30.09.2022 um 11:29 schrieb Andreas Wass - Glas Gasperlmair:
Hallo Liste,
Gleich vorab: Bitte keine Kommentare bezüglich "verwende doch mailman" oder "schreib den alias doch ins BCC Feld"
Ich habe da einige aliases in meiner DB, welche ich als Verteilerliste verwenden möchte. virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual-alias-maps.cf
+-----+-----------+------------------------+------------------------+ | id | domain_id | source | destination | +-----+-----------+------------------------+------------------------+ | 1 | 2 | abt-versand@meinedomain.at | email1@meinedomain.at | | 2 | 2 | abt-versand@meinedomain.at | email2@meinedomain.at | | 3 | 2 | abt-versand@meinedomain.at | email3@meinedomain.at | +-----+-----------+------------------------+------------------------+
Das ganze funktioniert prima, allerdings hätte ich gerne, dass Empfänger nicht sehen, dass das E-Mail an abt-versand@meinedomain.at gesendet wurde, sondern dass das E-Mail an email1@meinedomain.at, email2@meinedomain.at und email3@meinedomain.at gesendet wurde.
Ich möchte einfach verhindern, wenn ein E-Mail z.B. extern an office@irgendeinkunde.at versendet und der alias ("Verteiler" ) abt-versand@meinedomain.at im Feld CC steht, dass dieser alias (Verteiler) NICHT als solcher beim Kunden z.B. ersichtlich ist. Trotzdem möchte ich, dass der Kunde sieht, dass das E-Mail als CC auch an email1@meinedomain.at, email2@meinedomain.at und email3@meinedomain.at gesendet wurde
Kann man das mit address rewriting umsetzen und wenn ja wie?
Ich hoffe, ich habe mich klar genug ausgedrückt
Anbei noch meine master.cf, falls hier was zu ändern ist:
#
# service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (no) (never) (100)
#
#smtp inet n - y - - smtpd smtp inet n - y - 1 postscreen smtpd pass - - y - - smtpd -o smtpd_sasl_auth_enable=no dnsblog unix - - y - 0 dnsblog tlsproxy unix - - y - 0 tlsproxy submission inet n - y - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes # -o smtpd_tls_auth_only=yes -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions -o smtpd_recipient_restrictions= -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #smtps inet n - y - - smtpd # -o syslog_name=postfix/smtps # -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #628 inet n - y - - qmqpd pickup unix n - y 60 1 pickup cleanup unix n - y - 0 cleanup qmgr unix n - n 300 1 qmgr #qmgr unix n - n 300 1 oqmgr tlsmgr unix - - y 1000? 1 tlsmgr rewrite unix - - y - - trivial-rewrite bounce unix - - y - 0 bounce defer unix - - y - 0 bounce trace unix - - y - 0 bounce verify unix - - y - 1 verify flush unix n - y 1000? 0 flush proxymap unix - - n - - proxymap proxywrite unix - - n - 1 proxymap smtp unix - - y - - smtp relay unix - - y - - smtp -o syslog_name=postfix/$service_name # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 showq unix n - y - - showq error unix - - y - - error retry unix - - y - - error discard unix - - y - - discard local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - y - - lmtp anvil unix - - y - 1 anvil scache unix - - y - 1 scache postlog unix-dgram n - n - 1 postlogd # # ==================================================================== # Interfaces to non-Postfix software. Be sure to examine the manual # pages of the non-Postfix software to find out what options it wants. # # Many of the following services use the Postfix pipe(8) delivery # agent. See the pipe(8) man page for information about ${recipient} # and other message envelope options. # ==================================================================== # # maildrop. See the Postfix MAILDROP_README file for details. # Also specify in main.cf: maildrop_destination_recipient_limit=1 # maildrop unix - n n - - pipe flags=DRXhu user=vmail argv=/usr/bin/maildrop -d ${recipient} # # ==================================================================== # # Recent Cyrus versions can use the existing "lmtp" master.cf entry. # # Specify in cyrus.conf: # lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4 # # Specify in main.cf one or more of the following: # mailbox_transport = lmtp:inet:localhost # virtual_transport = lmtp:inet:localhost # # ==================================================================== # # Cyrus 2.1.5 (Amos Gouaux) # Also specify in main.cf: cyrus_destination_recipient_limit=1 # #cyrus unix - n n - - pipe # flags=DRX user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} # # ==================================================================== # Old example of delivery via Cyrus. # #old-cyrus unix - n n - - pipe # flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user} # # ==================================================================== # # See the Postfix UUCP_README file for configuration details. # uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) # # Other external delivery methods. # ifmail unix - n n - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) bsmtp unix - n n - - pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient scalemail-backend unix - n n - 2 pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension} mailman unix - n n - - pipe flags=FRX user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
On 03.10.2022 10:32, Robert Schetterer wrote:
Am 03.10.22 um 09:11 schrieb Andreas Wass - Glas Gasperlmair:
Hallo Liste,
Hab jetzt ziemlich rumprobiert und lt. folgender readme müsste es doch möglich sein einen alias in seine einzelnen Adressen umzuschreiben: Hier drin steht:
*
Replace an address by multiple addresses. For example, replace the address of an alias by the addresses listed under that alias.
readme: https://www.postfix.org/ADDRESS_REWRITING_README.html
meine sender_canonical_maps bzw. meine recipient_canonical_maps sehen so aus: abt-versand@meinedomain.at email1@meinedomain.at,email2@meinedomain.at,email3@meinedomain.at
Versende ich nun eine E-Mail an meine externe private E-Mail-Adresse und CC an abt-versand@meinedomain.at, sehe ich trotzdem nur den alias "abt-versand@meinedomain.at" nicht aber die einzelnen 3 E-Mail-Adressen, die diesen alias haben.
Keiner eine Idee?
Idee schon, aber nicht mit puren postfix du koenntest das wohl mit einer .forward , oder mit sieve machen etc evtl auch mit /usr/bin/sendmail ansonsten wuerde mir nur header_checks einfallen
hier ist sowas aehnliches muesst man dementsprechend abaendern
https://serverfault.com/questions/643070/postfix-rewriting-sender-with-gener...
aber das ist arges gefrickel, sorry mehr faellt mir grad nicht ein
ich würde davon abraten, Mails mit Reply-to im Header werden wahrscheinlicher als SPAM klassifiziert;
Generelle Frage an alle: Wie handhabt ihr eure internen E-Mail-Verteiler, welche extern nicht bekannt sein sollten/dürfen?
Vg, Andi
Am 03.10.2022 um 12:33 schrieb Walter H.:
On 03.10.2022 10:32, Robert Schetterer wrote:
Am 03.10.22 um 09:11 schrieb Andreas Wass - Glas Gasperlmair:
Hallo Liste,
Hab jetzt ziemlich rumprobiert und lt. folgender readme müsste es doch möglich sein einen alias in seine einzelnen Adressen umzuschreiben: Hier drin steht:
*
Replace an address by multiple addresses. For example, replace the address of an alias by the addresses listed under that alias.
readme: https://www.postfix.org/ADDRESS_REWRITING_README.html
meine sender_canonical_maps bzw. meine recipient_canonical_maps sehen so aus: abt-versand@meinedomain.at email1@meinedomain.at,email2@meinedomain.at,email3@meinedomain.at
Versende ich nun eine E-Mail an meine externe private E-Mail-Adresse und CC an abt-versand@meinedomain.at, sehe ich trotzdem nur den alias "abt-versand@meinedomain.at" nicht aber die einzelnen 3 E-Mail-Adressen, die diesen alias haben.
Keiner eine Idee?
Idee schon, aber nicht mit puren postfix du koenntest das wohl mit einer .forward , oder mit sieve machen etc evtl auch mit /usr/bin/sendmail ansonsten wuerde mir nur header_checks einfallen
hier ist sowas aehnliches muesst man dementsprechend abaendern
https://serverfault.com/questions/643070/postfix-rewriting-sender-with-gener...
aber das ist arges gefrickel, sorry mehr faellt mir grad nicht ein
ich würde davon abraten, Mails mit Reply-to im Header werden wahrscheinlicher als SPAM klassifiziert;
Am 03.10.22 um 12:48 schrieb Andreas Wass:
Generelle Frage an alle: Wie handhabt ihr eure internen E-Mail-Verteiler, welche extern nicht bekannt sein sollten/dürfen?
Das Nichtbekanntsein der E-Mail-Adresse des Verteilers wäre mir zu wenig. Der Verteiler darf nur von autorisierten Absendern verwendet werden.
Ansonsten bzw. unabhängig davon: E-Mail-Adresse des Verteilers im "BCC" setzen.
Am 03.10.2022 um 12:52 schrieb Rudolf E. Steiner:
Am 03.10.22 um 12:48 schrieb Andreas Wass:
Generelle Frage an alle: Wie handhabt ihr eure internen E-Mail-Verteiler, welche extern nicht bekannt sein sollten/dürfen?
Das Nichtbekanntsein der E-Mail-Adresse des Verteilers wäre mir zu wenig. Der Verteiler darf nur von autorisierten Absendern verwendet werden.
Und wie macht man das?
Ansonsten bzw. unabhängig davon: E-Mail-Adresse des Verteilers im "BCC" setzen.
Am 03.10.22 um 13:01 zitierte/schrieb Andreas Wass:
Generelle Frage an alle: Wie handhabt ihr eure internen E-Mail-Verteiler, welche extern nicht bekannt sein sollten/dürfen?
Das Nichtbekanntsein der E-Mail-Adresse des Verteilers wäre mir zu wenig. Der Verteiler darf nur von autorisierten Absendern verwendet werden.
Und wie macht man das?
Da gibt es viele Möglichkeiten dazu, beispielsweise die Kontrolle, von welchem SMTP-Server die E-Mail eingeliefert wird.
In unserem Fall liegen die Verteiler auf einem E-Mail-System, das nur Nachrichten aus unserem internen Netzwerk akzeptiert.
Danke Rudolf, das bringt mich auf folgende Idee:
main.cf:
smtpd_recipient_restrictions = ... check_recipient_access btree:/etc/postfix/access_recipient ...
Datei access_recipient:
abt-versand@meinedomain.at permit_mynetworks,reject
Somit bekommen externe zumindest schon mal ein reject, bevor E-Mail angenommen wird.
Am 03.10.2022 um 13:06 schrieb Rudolf E. Steiner:
Am 03.10.22 um 13:01 zitierte/schrieb Andreas Wass:
Generelle Frage an alle: Wie handhabt ihr eure internen E-Mail-Verteiler, welche extern nicht bekannt sein sollten/dürfen?
Das Nichtbekanntsein der E-Mail-Adresse des Verteilers wäre mir zu wenig. Der Verteiler darf nur von autorisierten Absendern verwendet werden.
Und wie macht man das?
Da gibt es viele Möglichkeiten dazu, beispielsweise die Kontrolle, von welchem SMTP-Server die E-Mail eingeliefert wird.
In unserem Fall liegen die Verteiler auf einem E-Mail-System, das nur Nachrichten aus unserem internen Netzwerk akzeptiert.
Am 03.10.22 um 12:48 schrieb Andreas Wass - Glas Gasperlmair:
Generelle Frage an alle: Wie handhabt ihr eure internen E-Mail-Verteiler, welche extern nicht bekannt sein sollten/dürfen?
Nun wie kommt eine Email Adi nach aussen, entweder jemand nutzt sie als Versender, oder sie steht irgendwo, wo sie abgegriffen werden kann
wer absolut sicherstellen will dass eine Adresse nur Intern benutzt wird nutzt eine domain die eben nur intern geroutet werden kann, das funktioniert freilich nur auf smtp level
Vg, Andi
Am 03.10.2022 um 12:33 schrieb Walter H.:
On 03.10.2022 10:32, Robert Schetterer wrote:
Am 03.10.22 um 09:11 schrieb Andreas Wass - Glas Gasperlmair:
Hallo Liste,
Hab jetzt ziemlich rumprobiert und lt. folgender readme müsste es doch möglich sein einen alias in seine einzelnen Adressen umzuschreiben: Hier drin steht:
*
Replace an address by multiple addresses. For example, replace the address of an alias by the addresses listed under that alias.
readme: https://www.postfix.org/ADDRESS_REWRITING_README.html
meine sender_canonical_maps bzw. meine recipient_canonical_maps sehen so aus: abt-versand@meinedomain.at email1@meinedomain.at,email2@meinedomain.at,email3@meinedomain.at
Versende ich nun eine E-Mail an meine externe private E-Mail-Adresse und CC an abt-versand@meinedomain.at, sehe ich trotzdem nur den alias "abt-versand@meinedomain.at" nicht aber die einzelnen 3 E-Mail-Adressen, die diesen alias haben.
Keiner eine Idee?
Idee schon, aber nicht mit puren postfix du koenntest das wohl mit einer .forward , oder mit sieve machen etc evtl auch mit /usr/bin/sendmail ansonsten wuerde mir nur header_checks einfallen
hier ist sowas aehnliches muesst man dementsprechend abaendern
https://serverfault.com/questions/643070/postfix-rewriting-sender-with-gener...
aber das ist arges gefrickel, sorry mehr faellt mir grad nicht ein
ich würde davon abraten, Mails mit Reply-to im Header werden wahrscheinlicher als SPAM klassifiziert;
Vielen Dank für euren Input!
Meine Lösung:
1.) User wurden angewiesen, interne Verteiler nur im BCC Feld zu verwenden
2.) Falls doch mal ein Verteiler nach draußen geht main.cf:
smtpd_recipient_restrictions = ... check_recipient_access regexp:/etc/postfix/access_recipient ...
Datei access_recipient:
/^verteiler-.*@meinedomain.at$/ permit_sasl_authenticated, permit_mynetworks, reject
Somit bekommen externe zumindest ein reject, bevor E-Mail überhaupt angenommen wird.
VG, Andi
Am 03.10.2022 um 14:33 schrieb Robert Schetterer:
Am 03.10.22 um 12:48 schrieb Andreas Wass - Glas Gasperlmair:
Generelle Frage an alle: Wie handhabt ihr eure internen E-Mail-Verteiler, welche extern nicht bekannt sein sollten/dürfen?
Nun wie kommt eine Email Adi nach aussen, entweder jemand nutzt sie als Versender, oder sie steht irgendwo, wo sie abgegriffen werden kann
wer absolut sicherstellen will dass eine Adresse nur Intern benutzt wird nutzt eine domain die eben nur intern geroutet werden kann, das funktioniert freilich nur auf smtp level
Vg, Andi
Am 03.10.2022 um 12:33 schrieb Walter H.:
On 03.10.2022 10:32, Robert Schetterer wrote:
Am 03.10.22 um 09:11 schrieb Andreas Wass - Glas Gasperlmair:
Hallo Liste,
Hab jetzt ziemlich rumprobiert und lt. folgender readme müsste es doch möglich sein einen alias in seine einzelnen Adressen umzuschreiben: Hier drin steht:
*
Replace an address by multiple addresses. For example, replace the address of an alias by the addresses listed under that alias.
readme: https://www.postfix.org/ADDRESS_REWRITING_README.html
meine sender_canonical_maps bzw. meine recipient_canonical_maps sehen so aus: abt-versand@meinedomain.at email1@meinedomain.at,email2@meinedomain.at,email3@meinedomain.at
Versende ich nun eine E-Mail an meine externe private E-Mail-Adresse und CC an abt-versand@meinedomain.at, sehe ich trotzdem nur den alias "abt-versand@meinedomain.at" nicht aber die einzelnen 3 E-Mail-Adressen, die diesen alias haben.
Keiner eine Idee?
Idee schon, aber nicht mit puren postfix du koenntest das wohl mit einer .forward , oder mit sieve machen etc evtl auch mit /usr/bin/sendmail ansonsten wuerde mir nur header_checks einfallen
hier ist sowas aehnliches muesst man dementsprechend abaendern
https://serverfault.com/questions/643070/postfix-rewriting-sender-with-gener...
aber das ist arges gefrickel, sorry mehr faellt mir grad nicht ein
ich würde davon abraten, Mails mit Reply-to im Header werden wahrscheinlicher als SPAM klassifiziert;
participants (4)
-
Andreas Wass - Glas Gasperlmair
-
Robert Schetterer
-
Rudolf E. Steiner
-
Walter H.