Catch-all fängt zu viel ein

webmaster webmaster at my-it-brain.de
Sa Mär 19 09:43:31 CET 2016



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 at example.com    user1 at example.com
user-2 at example.com    user2 at example.com
user-3 at example.com    user3 at example.com
@example.com          user1 at example.com
```

Nun werden jedoch alle E-Mails im Postfach von user1 at example.com
zugestellt. Also auch jene, die z.B. an user2 at 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 at example.com):
msgid=<56CF5A11.1000308 at example.com>: saved mail to INBOX
Feb 25 20:46:27 hostname postfix/pipe[7593]: 5B858280198:
to=<user1 at example.com>,
orig_to=<user2 at example.com>, 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 = </etc/ssl/private/ssl-chain-mail-example.pem
ssl_cipher_list =
ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AES:RSA+3DES:!ADH:!AECDH:!MD5:!DSS
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh_parameters_length = 2048
ssl_key = </etc/ssl/private/example-private-ssl.key
ssl_prefer_server_ciphers = yes
userdb {
  args = uid=5000 gid=5000 home=/var/mail/vmail/%d/%n
  driver = static
}
protocol lda {
  deliver_log_format = msgid=%m: %$
  mail_plugins = sieve
  postmaster_address = webmaster at example.com
  quota_full_tempfail = yes
  rejection_reason = Your message to <%t> 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



Mehr Informationen über die Mailingliste postfix-users