[Postfixbuch-users] Mail an lokale User wird faelschlicherweise akzeptiert

Sandy Drobic postfixbuch-users at japantest.homelinux.com
Mo Mär 26 11:14:14 CEST 2007


Gerd Wilhelm wrote:
> Hallo Liste!
> 
> Meine Mailq wird immer voller. Der Grund dafür ist, dass Mails die als
> Lokal-Part einen Benutzernamen haben, der auf dem System existiert, von
> Postfix angenommen werden, und erst dann versucht werden wieder an den
> Absender (der oftmals ja nicht exitiert) wieder loszuwerden.
> 
> Ich betreibe Postfix mit MySQL für mehrere Maildomainen.
> 
> Wenn in der virtual_ali_maps im mysql drinnstehen hab:
> 
> user1 at domain1.de
> user2 at domain1.de
> 
> user3 at domain2.de
> user4 at domain3.de
> 
> dann werden mails an user1 at domain2.de oder gibsnich at domain1.de
> richtigerweise gleich im SMTP Dialog abgelehnt.
> 
> Mails an mail at domain1.de oder root at domain2.de werden aber leider
> angenommen, da die lokalen Benutzer root und mail existieren.
> 
> Kann man das verhindern?
> 
> Hier mal meine main.cfg
> 
> # See /usr/share/postfix/main.cf.dist for a commented, more complete version
> 
> smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
> biff = no
> 
> # appending .domain is the MUA's job.
> append_dot_mydomain = no
> 
> # Uncomment the next line to generate "delayed mail" warnings
> #delay_warning_time = 4h
> 
> #myhostname = xxxxxxx.xxxxxx.de
> myhostname = xxxxxxx.xxxxxxxx.com
> alias_maps = hash:/etc/aliases
> alias_database = hash:/etc/aliases
> myorigin = /etc/mailname
> mydestination = localhost.xxxxxxxxxxx.com, localhost.xxxxx.xxxxxx.de,
>      localhost, mysql:/etc/postfix/db/mydestination.mysql

Für Mails in $mydestination gilt das von dir beobachtete Phänomen, dass
nur der localpart der Adresse zur Bestimmung von gültigen Adressen
verwendet wird.
Wenn dies nicht erwünscht ist, musst du die Domain in einer anderen
Domainklasse eintragen. Vermutlich wäre dabei virtual_mailbox_domains das
geeignete, aber das kommt auf weitere Überlegungen an.

> relayhost =
> mynetworks = 127.0.0.0/8
> mailbox_command = procmail -a "$EXTENSION"

Rufst du später deliver über procmail auf? mailbox_command wird nur für
Domains in $mydestination ausgewertet. Ansonsten müsstest du so etwas
verwenden wie
virtual_transport = cyrus
virtual_mailbox_domains = mysql:/etc/postfix/db/mydestination.mysql

> mailbox_size_limit = 0
> recipient_delimiter = +
> inet_interfaces = all
> local_transport = cyrus

Möchtest du die Mails über den Transport cyrus oder über Procmail übergeben?

> content_filter = smtp-amavis:[127.0.0.1]:10024
> #virtual_alias_domains = mysql:/etc/postfix/db/mydestination.mysql
> virtual_alias_maps = mysql:/etc/postfix/db/virtual.mysql
> sender_canonical_maps = mysql:/etc/postfix/db/canonical.mysql
> smtpd_sasl_auth_enable = yes
> smtpd_sasl_authenticated_header = yes
> smtpd_recipient_restrictions = permit_sasl_authenticated,
> permit_mynetworks, reject_unauth_destination
> smtpd_client_restrictions = reject_rbl_client zen.spamhaus.org

Besser:
smtpd_recipient_restrictions =
	permit_sasl_authenticated,
	permit_mynetworks,
	reject_unauth_destination
	reject_rbl_client zen.spamhaus.org

> smtpd_sasl_security_options = noanonymous
> smtpd_sasl_local_domain =
> broken_sasl_auth_clients = yes
> smtpd_use_tls = yes
> #smtpd_use_tls = no
> smtpd_tls_cert_file = /etc/postfix/postfix.cert
> smtpd_tls_key_file = /etc/postfix/postfix.key
> cyrus_destination_recipient_limit = 1


-- 
Sandy

Antworten bitte nur in die Mailingliste!
PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com




Mehr Informationen über die Mailingliste Postfixbuch-users