Postfix + ISPConfig3 : Kein Versand möglich


nofreak

New Member
Hallo,

ich versuche schon seit Tagen meinen Postfix MTA zum Versenden von E-Mails zu bewegen. Leider klappt das nicht. (Debian Lenny)

im /var/log/mail.log erscheint immer wieder:

Mar 7 19:15:43 528 postfix/smtpd[18464]: warning: SASL authentication failure: Password verification failed
Mar 7 19:15:43 528 postfix/smtpd[18464]: warning: XXX[xxx.xxx.xxx.58]: SASL PLAIN authentication failed: authentication failure

Eingerichtet habe ich den Server mit ISPConfig3, was auch in allen Belangen hervorragend funktionierte: Nur der Versand über einen Mail-Clienten, fehltanzeige. PHP Anwendungen, die auf den ersten eingerichteten Domainen eingrichtet sind, können ohne Probleme versendet werden.

Auch habe ich diverse Foren nach meinem Problem schon durchforstet, aber Lösungen habe ich keine gefunden - leider.

Vielleicht kann mir hier jemand weiterhelfen.

Danke im Voraus
Gruß
Frank
 
Im Moment schaut meine main.cf wie folgt aus (postconf -n)

Code:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
body_checks = regexp:/etc/postfix/body_checks
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
content_filter = amavis:[127.0.0.1]:10024
default_transport = smtp
header_checks = regexp:/etc/postfix/header_checks
html_directory = /usr/share/doc/postfix/html
inet_interfaces = all
inet_protocols = all
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
message_size_limit = 0
mime_header_checks = regexp:/etc/postfix/mime_header_checks
mydestination = {DOMAIN ROOT_SERVER}, localhost, localhost.localdomain
myhostname = {DOMAIN ROOT_SERVER}
mynetworks = 127.0.0.0/8 [::1]/128
myorigin = /etc/mailname
nested_header_checks = regexp:/etc/postfix/nested_header_checks
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
readme_directory = /usr/share/doc/postfix
receive_override_options = no_address_mappings
recipient_delimiter = +
relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf
relay_transport = smtp
relayhost = 
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-virtual_client.cf
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain = 
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
virtual_alias_domains = 
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_gid_maps = static:5000
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_transport = maildrop
virtual_uid_maps = static:5000


Diese wurde von ispconfig3 automatisch angelegt.

Gruß
Frank
 
Last edited by a moderator:
Dein Problem hatte ich auch und musste->

mydestination = {DOMAIN ROOT_SERVER}, localhost, localhost.localdomain

zu

mydestination = localhost, localhost.localdomain

ändern
 
Problem erkannt, aber noch nicht behoben...

Hallo,

ich bin dem Problem ein Stück näher gekommen:

In der Log-Datei vom MySQL Server konnte ich folgenden Eintrag feststellen:

100307 22:14:25 106 Connect ispconfig@localhost on dbispconfig
106 Init DB dbispconfig
106 Query SELECT password FROM mail_user WHERE email = 'info'
106 Quit

Auffällig war das email='info', die Domäne fehlte.

Nun habe ich testweise die entsprechende Tabelle geändert, so dass die E-Mail Adresse passte, also ohne Domäne eingetragen - und schwupps: Wie durch ein Wunder, wurde die E-Mail anstandslos von Postfix versendet.

Nun ist aber die Frage, wie diese falsche Anfrage zustande kommt.

Als ersten Anlaufpunkt hatte ich mir /etc/postfix/sasl/smtpd.conf ausgeguckt.

Jedoch hat eine Änderung der Zeile:
sql_select: select password from mail_user where email = '%u'

keinerlei Auswirkung. Ich änderte das testweise in
sql_select: select password from mail_user where email = '%u@%r'

Danach natürlich ein
/etc/init.d/postfix reload
/etc/init.d/saslauthd reload

aber nichts. Die Anfrage blieb immer noch fehlerhaft.

Hinweise?

Danke und Gruß
Frank
 
So ... geschafft.

Die Lösung ist (fast) einfach: Der saslauthd mus mit der Option -r gestartet werden.

-r Combine the realm with the login (with an ’@’ sign in between). e.g. login: "foo" realm: "bar" will get passed as login: "foo@bar". Note that the realm will still be passed, which may lead
to unexpected behaviour.

Das Verhalten ist zwar nicht logisch (vor allem dann nicht, wenn man als Benutzername den Domainteil schon angegeben hat)...

Also einfach die Datei /etc/init.d/saslauthd mit einem Editor öffnen und die Zeile suchen, in der
DAEMON_ARGS steht. Den Parameter -r einfügen.

Meine sieht wie folgt aus:
DAEMON_ARGS="-r -a $MECHANISMS $MECH_OPTIONS $OPTIONS $THREAD_OPTIONS"

Das war es denn ...

Gruß
Frank
 

Back
Top