Catch-all fängt zu viel ein
Hallo,
ich wollte mir auf meinem Postfix eine Catch-all Adresse konfigurieren.
Dabei habe ich mich an http://www.postfix.com/VIRTUAL_README.html
orientiert. Meine **/etc/postfix/virutal** sieht demnach wie folgt aus:
```
user-1@example.com user1@example.com
user-2@example.com user2@example.com
user-3@example.com user3@example.com
@example.com user1@example.com
```
Nun werden jedoch alle E-Mails im Postfach von user1@example.com
zugestellt. Also auch jene, die z.B. an user2@example.com gesendet wurden.
Entferne ich die letzte Zeile jedoch, werden E-Mails wie erwartet
zugestellt.
Im Log finde ich dazu folgende Zeilen:
```
lda(user1@example.com):
msgid=<56CF5A11.1000308@example.com>: saved mail to INBOX
Feb 25 20:46:27 hostname postfix/pipe[7593]: 5B858280198:
to=
Am 19.03.2016 um 09:43 schrieb webmaster:
Hallo,
ich wollte mir auf meinem Postfix eine Catch-all Adresse konfigurieren. Dabei habe ich mich an http://www.postfix.com/VIRTUAL_README.html orientiert. Meine **/etc/postfix/virutal** sieht demnach wie folgt aus:
``` user-1@example.com user1@example.com user-2@example.com user2@example.com user-3@example.com user3@example.com @example.com user1@example.com ```
Nun werden jedoch alle E-Mails im Postfach von user1@example.com zugestellt. Also auch jene, die z.B. an user2@example.com gesendet wurden.
Entferne ich die letzte Zeile jedoch, werden E-Mails wie erwartet zugestellt.
Im Log finde ich dazu folgende Zeilen:
``` lda(user1@example.com): msgid=<56CF5A11.1000308@example.com>: saved mail to INBOX Feb 25 20:46:27 hostname postfix/pipe[7593]: 5B858280198: to=
, orig_to= , relay=dovecot, delay=1.3, delays=1.3/0/0/0.02, dsn=2.0.0, status=sent (delivered via dovecot service) Feb 25 20:46:27 hostname postfix/qmgr[7557]: 5B858280198: removed ``` Ich kann dieses Phänomen auf mehreren Ubuntu-Servern mit Postfix 2.11.0 nachstellen. Handelt es sich hierbei um einen Bug?
# Ausgabe von postconf -n ``` alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases append_dot_mydomain = no biff = no broken_sasl_auth_clients = yes config_directory = /etc/postfix default_destination_concurrency_limit = 5 disable_vrfy_command = yes dovecot_destination_recipient_limit = 1 home_mailbox = Maildir/ inet_interfaces = all mailbox_command = /usr/lib/dovecot/deliver -c /etc/dovecot/dovecot.conf -m "${EXTENSION}" mailbox_size_limit = 0 message_size_limit = 104857600 milter_connect_macros = j {daemon_name} v {if_name} _ milter_default_action = accept mydestination = mx.example.com, localhost, localhost.example.com myhostname = mx.example.com mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 myorigin = /etc/mailname non_smtpd_milters = $smtpd_milters postscreen_access_list = permit_mynetworks postscreen_dnsbl_action = enforce postscreen_dnsbl_sites = zen.spamhaus.org, b.barracudacentral.org, bl.spamcop.net postscreen_greet_action = enforce readme_directory = no recipient_delimiter = + relay_destination_concurrency_limit = 1 relay_recipient_maps = smtp_tls_note_starttls_offer = yes smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtp_use_tls = yes smtpd_banner = $myhostname ESMTP smtpd_helo_required = yes smtpd_helo_restrictions = permit_mynetworks, reject_non_fqdn_helo_hostname, reject_unknown_helo_hostname, reject_invalid_helo_hostname, permit smtpd_milters = unix:/spamass/spamass.sock unix:/clamav/clamav-milter.ctl unix:/opendkim/opendkim.sock smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_invalid_hostname, reject_non_fqdn_sender smtpd_sasl_auth_enable = yes smtpd_sasl_authenticated_header = yes smtpd_sasl_local_domain = $myhostname smtpd_sasl_path = private/dovecot-auth smtpd_sasl_security_options = noanonymous smtpd_sasl_type = dovecot smtpd_sender_login_maps = $virtual_mailbox_maps smtpd_sender_restrictions = reject_unknown_sender_domain smtpd_tls_CAfile = /etc/ssl/certs/ca-certificates.crt smtpd_tls_ask_ccert = yes smtpd_tls_auth_only = yes smtpd_tls_cert_file = /etc/ssl/private/ssl-chain-mail-example-com.pem smtpd_tls_ciphers = high smtpd_tls_dh1024_param_file = /etc/nginx/dh_params.pem smtpd_tls_key_file = /etc/ssl/private/example-com-private-ssl.key smtpd_tls_loglevel = 1 smtpd_tls_mandatory_ciphers = medium smtpd_tls_mandatory_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CDC3-SHA, KRB5-DE5, CBC3-SHA smtpd_tls_mandatory_protocols = SSLv3, TLSv1 smtpd_tls_received_header = yes smtpd_tls_security_level = may smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtpd_tls_session_cache_timeout = 3600s smtpd_use_tls = yes tls_random_source = dev:/dev/urandom unknown_address_reject_code = 550 unknown_client_reject_code = 550 unknown_hostname_reject_code = 550 virtual_alias_maps = hash:/etc/postfix/virtual virtual_mailbox_domains = hash:/etc/postfix/virtual-mailbox-domains virtual_mailbox_maps = hash:/etc/postfix/virtual-mailbox-users virtual_transport = dovecot ```
# Ausgabe von doveconf -n
``` # 2.2.9: /etc/dovecot/dovecot.conf # OS: Linux 3.13.0-042stab111.12 x86_64 Ubuntu 14.04.4 LTS reiserfs auth_mechanisms = plain login auth_verbose = yes mail_home = /var/mail/vmail/%d/%n mail_location = maildir:/var/mail/vmail/%d/%n/mail:LAYOUT=fs managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave namespace inbox { inbox = yes location = mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Junk { auto = subscribe special_use = \Junk } mailbox Sent { auto = subscribe special_use = \Sent } mailbox Trash { auto = subscribe special_use = \Trash } prefix = } passdb { args = username_format=%u scheme=ssha512 /etc/dovecot/passwd.db driver = passwd-file } plugin { sieve = /var/mail/vmail/example.com/%u/.dovecot.sieve sieve_after = /var/mail/vmail/sieve-after sieve_before = /var/mail/vmail/sieve-before sieve_dir = /var/mail/vmail/example.com/%u/sieve } protocols = imap sieve service auth { unix_listener /var/spool/postfix/private/dovecot-auth { group = postfix mode = 0660 user = postfix } } ssl_cert = was automatically rejected:%n%r } protocol imap { imap_client_workarounds = delay-newmail tb-extra-mailbox-sep mail_max_userip_connections = 10 } ```
Handelt es sich hierbei um einen Bug, oder habe ich noch einen Fehler in der Konfiguration?
Viele Grüße Jörg
ausm Bauch raus virtual_transport = dovecot uebergibt alles an dovecot lies nochmal http://wiki.dovecot.org/LDA/Postfix virtual_alias_maps, virtual_mailbox_maps ... Best Regards MfG Robert Schetterer -- [*] sys4 AG http://sys4.de, +49 (89) 30 90 46 64 Franziskanerstraße 15, 81669 München Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263 Vorstand: Patrick Ben Koetter, Marc Schiffbauer Aufsichtsratsvorsitzender: Florian Kirstein
Am 19.03.2016 um 09:43 schrieb webmaster:
ich wollte mir auf meinem Postfix eine Catch-all Adresse konfigurieren. Dabei habe ich mich an http://www.postfix.com/VIRTUAL_README.html orientiert. Meine **/etc/postfix/virutal** sieht demnach wie folgt aus:
``` user-1@example.com user1@example.com user-2@example.com user2@example.com user-3@example.com user3@example.com @example.com user1@example.com ```
Nun werden jedoch alle E-Mails im Postfach von user1@example.com zugestellt. Also auch jene, die z.B. an user2@example.com gesendet wurden.
Entferne ich die letzte Zeile jedoch, werden E-Mails wie erwartet zugestellt.
Im Log finde ich dazu folgende Zeilen:
``` lda(user1@example.com): msgid=<56CF5A11.1000308@example.com>: saved mail to INBOX Feb 25 20:46:27 hostname postfix/pipe[7593]: 5B858280198: to=
, orig_to= , relay=dovecot, delay=1.3, delays=1.3/0/0/0.02, dsn=2.0.0, status=sent (delivered via dovecot service) Feb 25 20:46:27 hostname postfix/qmgr[7557]: 5B858280198: removed
In der zweiten Zeile hast Du "user-2" stehen, das ist nicht das selbe wie "user2". Und deshalb trifft dann auch nur die vierte Zeile zu. Es sollte wohl eher so aussehen: user1@example.com user1@example.com user2@example.com user2@example.com user3@example.com user3@example.com @example.com user1@example.com -- Alex JOST
Am 19.03.2016 um 10:49 schrieb Alex JOST:
Am 19.03.2016 um 09:43 schrieb webmaster:
ich wollte mir auf meinem Postfix eine Catch-all Adresse konfigurieren. Dabei habe ich mich an http://www.postfix.com/VIRTUAL_README.html orientiert. Meine **/etc/postfix/virutal** sieht demnach wie folgt aus:
``` user-1@example.com user1@example.com user-2@example.com user2@example.com user-3@example.com user3@example.com @example.com user1@example.com ```
Nun werden jedoch alle E-Mails im Postfach von user1@example.com zugestellt. Also auch jene, die z.B. an user2@example.com gesendet wurden.
Entferne ich die letzte Zeile jedoch, werden E-Mails wie erwartet zugestellt.
In der zweiten Zeile hast Du "user-2" stehen, das ist nicht das selbe wie "user2". Und deshalb trifft dann auch nur die vierte Zeile zu. Es sollte wohl eher so aussehen:
user1@example.com user1@example.com user2@example.com user2@example.com user3@example.com user3@example.com @example.com user1@example.com
Das macht in meinen Augen keinen Sinn. Die Datei **/etc/postfix/virtual** ist doch dazu da, um Aliase für real existierende Postfächer anzulegen. Ich könnte dort daher auch etwas eintragen wie: pusemuckel@example.com user2@example.com um alle E-Mails, die an pusemuckel@example.com gesendet zu werden, an das Postfach von user2@example.com weiterzuleiten. Und wenn ich die vierte Zeile entferne funktioniert es ja auch wie erwartet. Also ohne die Catch-all-Adresse werden E-Mails, die an user-2@example.com gesendet werden, korrekt an user2@example.com weitergeleitet. Viele Grüße Jörg
[Die Antwort ging leider nur direkt an webmaster, also der Vollständigkeit halber nochmal die Liste] Am 19.03.2016 um 11:53 schrieb webmaster:
Am 19.03.2016 um 10:49 schrieb Alex JOST:
Am 19.03.2016 um 09:43 schrieb webmaster:
ich wollte mir auf meinem Postfix eine Catch-all Adresse konfigurieren. Dabei habe ich mich an http://www.postfix.com/VIRTUAL_README.html orientiert. Meine **/etc/postfix/virutal** sieht demnach wie folgt aus:
``` user-1@example.com user1@example.com user-2@example.com user2@example.com user-3@example.com user3@example.com @example.com user1@example.com ```
Nun werden jedoch alle E-Mails im Postfach von user1@example.com zugestellt. Also auch jene, die z.B. an user2@example.com gesendet wurden.
Entferne ich die letzte Zeile jedoch, werden E-Mails wie erwartet zugestellt.
In der zweiten Zeile hast Du "user-2" stehen, das ist nicht das selbe wie "user2". Und deshalb trifft dann auch nur die vierte Zeile zu. Es sollte wohl eher so aussehen:
user1@example.com user1@example.com user2@example.com user2@example.com user3@example.com user3@example.com @example.com user1@example.com
Das macht in meinen Augen keinen Sinn. Die Datei **/etc/postfix/virtual** ist doch dazu da, um Aliase für real existierende Postfächer anzulegen. Ich könnte dort daher auch etwas eintragen wie:
pusemuckel@example.com user2@example.com
um alle E-Mails, die an pusemuckel@example.com gesendet zu werden, an das Postfach von user2@example.com weiterzuleiten.
Und wenn ich die vierte Zeile entferne funktioniert es ja auch wie erwartet. Also ohne die Catch-all-Adresse werden E-Mails, die an user-2@example.com gesendet werden, korrekt an user2@example.com weitergeleitet.
OK, hatte nicht verstanden, dass "user-1" ein gewollter Alias ist. Jedenfalls musst Du Ausnahmen von der Catchall-Adresse explizit nochmal in der Alias-Datei angeben. Also in Deinem Fall wohl so: user-1@example.com user1@example.com user-2@example.com user2@example.com user-3@example.com user3@example.com user1@example.com user1@example.com user2@example.com user2@example.com user3@example.com user3@example.com @example.com user1@example.com -- Alex JOST
Am 19.03.2016 um 12:55 schrieb Alex JOST:
Jedenfalls musst Du Ausnahmen von der Catchall-Adresse explizit nochmal in der Alias-Datei angeben. Also in Deinem Fall wohl so:
user-1@example.com user1@example.com user-2@example.com user2@example.com user-3@example.com user3@example.com user1@example.com user1@example.com user2@example.com user2@example.com user3@example.com user3@example.com @example.com user1@example.com
Ok. Das ist mir entgangen. Mit deinem Hinweis konnte ich es gerade erfolgreich testen. Vielen Dank. Jörg
participants (3)
-
Alex JOST -
Robert Schetterer -
webmaster