[Postfixbuch-users] Dynamische Empfänger Verifizierung mit Dovecot
Michael Grosseck
liox at elso.mine.nu
Mi Sep 15 09:46:46 CEST 2010
Hallo Liste,
erst mal vielen Dank Peer für Dein hervorragendes Buch, das für mich
mittlerweile zu einem geschätzten Nachschlagewerk geworden ist.
Nun stehe ich aber vor einem Problem, was die dynamische
Empfänger-Verifizierung betrifft.
Ich habe ein Setup mit Postfix, Dovecot und MySQL DB für die Userdaten.
Das funktioniert soweit auch ganz wunderbar. Mein Problem ist, ich kann
Postfix einfach nicht dazu bewegen kann, Mails abzulehnen für die es
keinen Empfänger gibt.
Ich habe wie von Peer empfohlen, Postfix als Eingangsrelay konfiguriert,
welches die Mails an deliver von Dovecot weiterleitet. Damit weiß
Postfix ja erst mal nichts über die Empfangsaddressen. Daher wollte ich
wie in Kapitel 12.2.2 die dynamische Empfänger-Verifizierung nutzen. Die
verify.db wird auch geschrieben, also das scheint dann auch zu klappen.
Nur der deliver von Dovecot meldet immer status=deliverable und damit
wird die Mail nicht abgewiesen. Erst im zweiten Schritt, wenn Postfix
die Mail angenommen, diese durch die ganzen Viren und Spamchecks durch
ist, und sie an Dovecot (deliver) weitergereicht wird, lehnt Dovecot die
Mail dann ab, da er den Empfänger nicht kennt. Unangenehm dabei ist,
dass Dovecot dann auch noch eine Bounce-Mail generiert.
Hier nun die Config-Dateien:
Postfix master.cf (gekürzt auf die relevanten Teile)
smtp inet n - - - - smtpd
-o smtpd_proxy_filter=localhost:10024
-o content_filter=
localhost:10025 inet n - n - - smtpd
-o content_filter=
-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 reseive_override_options=no_unknown_recipient_checks
...
verify unix - - - - 1 verify
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f
${sender} -d ${recipient}
Postfix main.cf
address_verify_map = btree:/var/spool/postfix/data/verify
alias_maps = mysql:/etc/postfix/mysql-aliases.cf
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
home_mailbox = MailDir/
inet_interfaces = all
local_recipient_maps = $alias_maps unix:passwd.byname
mailbox_size_limit = 5368709120
message_size_limit = 52428800
mydestination = smtp.example.de, localhost.intern, localhost
myhostname = smtp.example.de
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.2.0/24
myorigin = /etc/mailname
readme_directory = no
relay_domains = mysql:/etc/postfix/mysql-virtual-domains.cf
relayhost =
relocated_maps = mysql:/etc/postfix/mysql-relocated.cf
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_client_restrictions = check_client_access
mysql:/etc/postfix/mysql-client.cf
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_recipient_restrictions = reject_unknown_sender_domain,
reject_non_fqdn_sender, permit_sasl_authenticated, permit_mynetworks,
reject_unverified_recipient, check_client_access
mysql:/etc/postfix/mysql-client.cf, check_helo_access
mysql:/etc/postfix/mysql-helo.cf, check_sender_access
mysql:/etc/postfix/mysql-sender.cf, check_recipient_access
mysql:/etc/postfix/mysql-recipient.cf, reject_unauth_destination,
reject_non_fqdn_recipient, reject_unknown_recipient_domain,
reject_rbl_client bl.spamcop.net, reject_rbl_client zen.spamhaus.org,
reject_rbl_client list.dsbl.org, check_policy_service
inet:127.0.0.1:60000, permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = no
smtpd_sasl_local_domain = smtp.example.de
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_tls_auth_only = no
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
transport_maps = mysql:/etc/postfix/mysql-virtual-domains.cf
dovecot.conf
# 1.2.13: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.26-2-xen-amd64 x86_64 Debian 5.0.6
log_timestamp: %Y-%m-%d %H:%M:%S
protocols: imap imaps pop3 pop3s
disable_plaintext_auth: no
login_dir: /var/run/dovecot/login
login_executable(default): /usr/lib/dovecot/imap-login
login_executable(imap): /usr/lib/dovecot/imap-login
login_executable(pop3): /usr/lib/dovecot/pop3-login
first_valid_uid: 10000
last_valid_uid: 10000
mail_privileged_group: mail
mail_uid: vmail
mail_gid: vmail
mail_location: maildir:%h/MailDir
mail_debug: yes
mbox_write_locks: fcntl dotlock
mail_executable(default): /usr/lib/dovecot/imap
mail_executable(imap): /usr/lib/dovecot/imap
mail_executable(pop3): /usr/lib/dovecot/pop3
mail_plugin_dir(default): /usr/lib/dovecot/modules/imap
mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap
mail_plugin_dir(pop3): /usr/lib/dovecot/modules/pop3
imap_client_workarounds(default): outlook-idle delay-newmail
imap_client_workarounds(imap): outlook-idle delay-newmail
imap_client_workarounds(pop3):
pop3_client_workarounds(default):
pop3_client_workarounds(imap):
pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh
lda:
postmaster_address: liox at elso.mine.nu
auth_socket_path: /var/run/dovecot/auth-master
auth default:
mechanisms: plain login
verbose: yes
debug: yes
debug_passwords: yes
passdb:
driver: pam
passdb:
driver: sql
args: /etc/dovecot/dovecot-sql.conf
userdb:
driver: passwd
userdb:
driver: sql
args: /etc/dovecot/dovecot-sql.conf
socket:
type: listen
client:
path: /var/spool/postfix/private/auth
mode: 432
user: postfix
group: postfix
master:
path: /var/run/dovecot/auth-master
mode: 384
user: vmail
group: vmail
Und nun der relevante Teil aus der mail.log
Sep 15 06:04:57 smtp postfix/smtpd[21432]: connect from
smtp.irgendwoher.de[178.63.230.253]
Sep 15 06:05:45 smtp postfix/cleanup[21436]: F06FE4F40C4:
message-id=<20100915060545.F06FE4F40C4 at smtp.webfixx.net>
Sep 15 06:05:45 smtp postfix/qmgr[20201]: F06FE4F40C4:
from=<double-bounce at smtp.example.de>, size=268, nrcpt=1 (queue active)
Sep 15 06:05:45 smtp postfix/pipe[21437]: F06FE4F40C4:
to=<test at example.de>, relay=dovecot, delay=0.01, delays=0/0.01/0/0,
dsn=2.0.0, status=deliverable (delivers to command:
/usr/lib/dovecot/deliver)
Sep 15 06:05:45 smtp postfix/qmgr[20201]: F06FE4F40C4: removed
...
Sep 15 06:06:27 smtp postfix/pipe[21437]: 00DB04F40C4:
to=<test at example.de>, relay=dovecot, delay=0.03, delays=0.01/0/0/0.02,
dsn=5.1.1, status=bounced (user unknown)
Was mach ich falsch?
MfG
Michael
--
Electric Solutions GbR
Rembrandtstr. 8
99099 Erfurt
Tel. Büro Erfurt: 0361 / 340 41 42
Tel. Büro Röttenbach bei Erlangen: 091 95 / 921 8019
Handy: 0170 / 968 57 44
Fax: 0361 / 340 41 49
info at electric-solutions.de
www.electric-solutions.de
weitere Projekte:
www.avanando.de
www.partytool.de
www.webfixx.net
www.preispokal.de
www.modesuche24.de
Mehr Informationen über die Mailingliste Postfixbuch-users