Verteilerliste mit virtual aliases - address rewriting
Andreas Wass - Glas Gasperlmair
a.wass at glas-gasperlmair.at
Mo Okt 3 11:26:06 CEST 2022
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 at 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 at meinedomain.at
email1 at meinedomain.at,email2 at meinedomain.at,email3 at meinedomain.at
Mit sieve discarde ich zumindest schon mal eingehende e-mails, wenn was
von extern kommt und der alias abt-versand at 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 at meinedomain.at
>> email1 at meinedomain.at,email2 at meinedomain.at,email3 at meinedomain.at
>>
>> Versende ich nun eine E-Mail an meine externe private E-Mail-Adresse
>> und CC an abt-versand at meinedomain.at, sehe ich trotzdem nur den alias
>> "abt-versand at 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-generic-header-check
>
>
> 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 at meinedomain.at | email1 at meinedomain.at |
>>> | 2 | 2 | abt-versand at meinedomain.at | email2 at meinedomain.at |
>>> | 3 | 2 | abt-versand at meinedomain.at | email3 at meinedomain.at |
>>> +-----+-----------+------------------------+------------------------+
>>>
>>> Das ganze funktioniert prima, allerdings hätte ich gerne, dass
>>> Empfänger nicht sehen, dass das E-Mail an abt-versand at meinedomain.at
>>> gesendet wurde, sondern dass das E-Mail an email1 at meinedomain.at,
>>> email2 at meinedomain.at und email3 at meinedomain.at gesendet wurde.
>>>
>>> Ich möchte einfach verhindern, wenn ein E-Mail z.B. extern an
>>> office at irgendeinkunde.at versendet und der alias ("Verteiler" )
>>> abt-versand at 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 at meinedomain.at, email2 at meinedomain.at und
>>> email3 at 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}
>>>
>>
>
>
Mehr Informationen über die Mailingliste postfix-users