# Postfix / Sasl; Virtual Users => SMTP-Auth-MySQL-Abfrageproblem



## Aerox95 (21. Jan. 2008)

Hallo,

ich hab sein sehr spezielles Problem, zu dem ich so keine Infos finde.


Ich habe mir mit Hilfe des Howtos "Virtuelle Benutzer und Domains Mit Postfix, Courier Und MySQL (Ubuntu 7.10)" Postfix etc. installiert. Erst einmal Lob an den Autor / die Autoren, das ist mit Abstand die beste Doku die man zu dem Thema findet 

Mail abrufen, Spam filtern etc. funktioniert alles einwandfrei. Das Anmelden per SMTP auf dem Server zum Verschicken einer E-Mail funktioniert aber nicht.

Ich habe das Problem auch schon lokalisiert, diese Abfrage ist nicht korrekt wenn der Login startet:

```
SELECT password FROM users WHERE email = 'username'
```

Dort müsste anstelle nach "username" nach "username@domain.tld" gefragt werden. Ich sende natürlich den kompletten Usernamen, der identisch mit der E-Mail-Adresse ist.

Mir stellt sich lediglich die Frage, wo ich diese oben genannte Abfrage anpassen kann? In der /etc/postfix/sasl/smtpd.conf finde ich zwar so ein Query, aber Änderungen haben keinerlei Auswirkungen. Vielleicht bin ich ja auf einem ganz falschem Pfad? 


Danke schonmal für die Hilfe.


Gruß,
Christian


----------



## Till (21. Jan. 2008)

Hast Du in Deinem Emailprogramm bei den SMTP Einstellungen auch wirklich username@domain.tld als Username für die SMTP Authentifizierung eingegeben? In diesem Setup ist der Username gleich der Emailadresse.


----------



## Aerox95 (21. Jan. 2008)

Zitat von Till:


> Hast Du in Deinem Emailprogramm bei den SMTP Einstellungen auch wirklich username@domain.tld als Username für die SMTP Authentifizierung eingegeben? In diesem Setup ist der Username gleich der Emailadresse.


ja, als postausgangsserver auf dem mail-client ist domain.tld angegeben und als benutzername username@domain.tld

Im /var/log/mysql.log taucht dann zur abfrage das query auf, das nur alles vor dem @ enthält


----------



## Till (21. Jan. 2008)

Ok, poste bitte mal den Inhalt der Datei:

/etc/postfix/sasl/smtpd.conf


----------



## Aerox95 (21. Jan. 2008)

```
pwcheck_method: saslauthd
mech_list: plain login
allow_plaintext: true
auxprop_plugin: mysql
sql_engine: mysql
sql_hostnames: localhost
sql_user: mail
sql_passwd: <pw>
sql_database: mail
sql_select: select password from users WHERE email='%u@%r'
```


----------



## Till (21. Jan. 2008)

Ich habe es gerade nochmal auf meinem lokalen Setup nachgesehen, mit:

select password from users where email = '%u'

funktioniert bei mir der Login und es wird die komplette Emailadresse in der Variable %u übergeben *grübel*


----------



## Aerox95 (21. Jan. 2008)

habs gerade auf %u geändert, daraufhin mal postfix und alle courier-prozesse neugestartet und es nochmal versucht.... leider hat sich nix geändert.


----------



## mtommy (23. Mai 2008)

hallo, ich habe das selbe problem -> änderungen in /etc/postfix/smtpd.conf haben keine auswirkungen auf die query.. (mysql verbose log eingeschaltet, es kommt immer nur WHERE 'user' statt nach smtpd.conf WHERE 'user@domain.tld').

auch wird der saslauthd nicht automatisch gestartet trotz START=yes in /etc/default/saslauthd

bin nach 'Virtuelle Benutzer und Domains Mit Postfix, Courier Und MySQL' vorgegangen.

bitte um hilfe bzw. anweisung welche angaben nötig sind damit ich eure kristallkugeln nicht strapazieren muss!!

danke und lg, tom


----------



## Till (25. Mai 2008)

Bist Du sicher, dass das Problem die smtp Abfrage ist? Möglicherweise ruft Dein Client auch immer erst pop3 ab, und die Authentifizierung scheitert schon dann. Sie Dir bitte mal die courier Konfigurationsdateien an und poste mal die exakten Fehlermeldungen aus dem mail log.


----------



## mtommy (25. Mai 2008)

hallo!

erstmal vielen dank für deine antwort und dafür, dass du dir zeit genommen hast!

ich habe ohne authentifizierung völlig problemlos an lokale empfänger mails verschicken können, und auch abrufen. wenn ich aber authentifizierung einschalte (thunderbird, ganze adresse mit @domain als username, da diese in der datenbank ja so drin sind) gibts den authentifizierungsfehler (siehe mail.log), wobei laut mysqld.log (habe ich auch verbose geschaltet) eine abfrage gemacht wird, die so nicht in der smtpd.conf ist (dort sind SELECT, WHERE, FROM klein geschrieben..) und wohl von irgendwo anders geholt wird.

abrufen geht wie gesagt (root,admin,mail@mydomain - hab alle probiert, das klappt), nur der sasl-dämon stellt irgendwie immer die falsche frage bzw. liest die falsche oder eine default/andere conf?
saslauthd startet auch nicht automatisch mit, muss ich händisch machen. und /etc/init.d/saslauthd stop geht nicht, da sagt er der rennt nicht ("Stopping SASL Authentication Daemon: (not running)."), das mach ich per ps fx und kill die entsprechende pid.. beim starten mault er aber nichts ausser "Starting SASL Authentication Daemon: changed ownership of `/var/run/saslauthd' to root:sasl
mode of `/var/run/saslauthd' changed to 0710 (rwx--x---)
saslauthd."

logs häng ich im nachfolgenden post an, da dieses sonst die 10k zeichen überschreitet..

hab schon um die hundert threads durch, die ich per google gefunden hab, aber meinem problem hier entspricht leider keiner, den ich gefunden hab..

wenn du/ihr vielleicht eine idee hättest/t würde ich mich sehr freuen!

vielen dank und lg!
tom


----------



## mtommy (25. Mai 2008)

mail.log:

```
May 25 17:45:00 server postfix/smtpd[15517]: connection established
May 25 17:45:00 server postfix/smtpd[15517]: master_notify: status 0
May 25 17:45:00 server postfix/smtpd[15517]: name_mask: resource
May 25 17:45:00 server postfix/smtpd[15517]: name_mask: software
May 25 17:45:00 server postfix/smtpd[15517]: name_mask: noanonymous
May 25 17:45:00 server postfix/smtpd[15517]: connect from unknown[84.119.77.63]
May 25 17:45:00 server postfix/smtpd[15517]: match_list_match: unknown: no match
May 25 17:45:00 server postfix/smtpd[15517]: match_list_match: 84.119.77.63: no match
May 25 17:45:00 server postfix/smtpd[15517]: match_list_match: unknown: no match
May 25 17:45:00 server postfix/smtpd[15517]: match_list_match: 84.119.77.63: no match
May 25 17:45:00 server postfix/smtpd[15517]: match_hostname: unknown ~? 127.0.0.0/8
May 25 17:45:00 server postfix/smtpd[15517]: match_hostaddr: 84.119.77.63 ~? 127.0.0.0/8
May 25 17:45:00 server postfix/smtpd[15517]: match_list_match: unknown: no match
May 25 17:45:00 server postfix/smtpd[15517]: match_list_match: 84.119.77.63: no match
May 25 17:45:00 server postfix/smtpd[15517]: send attr request = connect
May 25 17:45:00 server postfix/smtpd[15517]: send attr ident = smtp:84.119.77.63
May 25 17:45:00 server postfix/smtpd[15517]: private/anvil: wanted attribute: status
May 25 17:45:00 server postfix/smtpd[15517]: input attribute name: status
May 25 17:45:00 server postfix/smtpd[15517]: input attribute value: 0
May 25 17:45:00 server postfix/smtpd[15517]: private/anvil: wanted attribute: count
May 25 17:45:00 server postfix/smtpd[15517]: input attribute name: count
May 25 17:45:00 server postfix/smtpd[15517]: input attribute value: 1
May 25 17:45:00 server postfix/smtpd[15517]: private/anvil: wanted attribute: rate
May 25 17:45:00 server postfix/smtpd[15517]: input attribute name: rate
May 25 17:45:00 server postfix/smtpd[15517]: input attribute value: 2
May 25 17:45:00 server postfix/smtpd[15517]: private/anvil: wanted attribute: (list terminator)
May 25 17:45:00 server postfix/smtpd[15517]: input attribute name: (end)
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 220 server.mydomain.net ESMTP Postfix (Ubuntu)
May 25 17:45:00 server postfix/smtpd[15517]: < unknown[84.119.77.63]: EHLO [192.168.2.111]
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 250-server.mydomain.net
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 250-PIPELINING
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 250-SIZE 10240000
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 250-VRFY
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 250-ETRN
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 250-STARTTLS
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 250-AUTH LOGIN PLAIN
May 25 17:45:00 server postfix/smtpd[15517]: match_list_match: unknown: no match
May 25 17:45:00 server postfix/smtpd[15517]: match_list_match: 84.119.77.63: no match
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 250-AUTH=LOGIN PLAIN
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 250 8BITMIME
May 25 17:45:00 server postfix/smtpd[15517]: < unknown[84.119.77.63]: STARTTLS
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 220 Ready to start TLS
May 25 17:45:00 server postfix/smtpd[15517]: send attr request = seed
May 25 17:45:00 server postfix/smtpd[15517]: send attr size = 32
May 25 17:45:00 server postfix/smtpd[15517]: private/tlsmgr: wanted attribute: status
May 25 17:45:00 server postfix/smtpd[15517]: input attribute name: status
May 25 17:45:00 server postfix/smtpd[15517]: input attribute value: 0
May 25 17:45:00 server postfix/smtpd[15517]: private/tlsmgr: wanted attribute: seed
May 25 17:45:00 server postfix/smtpd[15517]: input attribute name: seed
May 25 17:45:00 server postfix/smtpd[15517]: input attribute value: {..seed..}
May 25 17:45:00 server postfix/smtpd[15517]: private/tlsmgr: wanted attribute: (list terminator)
May 25 17:45:00 server postfix/smtpd[15517]: input attribute name: (end)
May 25 17:45:00 server postfix/smtpd[15517]: send attr request = lookup
May 25 17:45:00 server postfix/smtpd[15517]: send attr cache_type = 2
May 25 17:45:00 server postfix/smtpd[15517]: send attr cache_id = 1B043E0C29C7C1AC73BF681404D3AB718688E5EA5388E0B0CB553169EC80C79B
May 25 17:45:00 server postfix/smtpd[15517]: send attr version = 9469983
May 25 17:45:00 server postfix/smtpd[15517]: send attr flags = 0
May 25 17:45:00 server postfix/smtpd[15517]: private/tlsmgr: wanted attribute: status
May 25 17:45:00 server postfix/smtpd[15517]: input attribute name: status
May 25 17:45:00 server postfix/smtpd[15517]: input attribute value: 0
May 25 17:45:00 server postfix/smtpd[15517]: private/tlsmgr: wanted attribute: session
May 25 17:45:00 server postfix/smtpd[15517]: input attribute name: session
May 25 17:45:00 server postfix/smtpd[15517]: input attribute value: {..value..}
May 25 17:45:00 server postfix/smtpd[15517]: private/tlsmgr: wanted attribute: (list terminator)
May 25 17:45:00 server postfix/smtpd[15517]: input attribute name: (end)
May 25 17:45:00 server postfix/smtpd[15517]: < unknown[84.119.77.63]: EHLO [192.168.2.111]
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 250-server.mydomain.net
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 250-PIPELINING
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 250-SIZE 10240000
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 250-VRFY
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 250-ETRN
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 250-AUTH LOGIN PLAIN
May 25 17:45:00 server postfix/smtpd[15517]: match_list_match: unknown: no match
May 25 17:45:00 server postfix/smtpd[15517]: match_list_match: 84.119.77.63: no match
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 250-AUTH=LOGIN PLAIN
May 25 17:45:00 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 250 8BITMIME
May 25 17:45:05 server postfix/smtpd[15517]: < unknown[84.119.77.63]: AUTH PLAIN {..value..}
May 25 17:45:05 server postfix/smtpd[15517]: smtpd_sasl_authenticate: sasl_method PLAIN, init_response {..value..}
May 25 17:45:05 server postfix/smtpd[15517]: smtpd_sasl_authenticate: decoded initial response
May 25 17:45:08 server postfix/smtpd[15517]: warning: SASL authentication failure: Password verification failed
May 25 17:45:08 server postfix/smtpd[15517]: warning: unknown[84.119.77.63]: SASL PLAIN authentication failed
May 25 17:45:08 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 535 Error: authentication failed
May 25 17:45:08 server postfix/smtpd[15517]: < unknown[84.119.77.63]: AUTH LOGIN
May 25 17:45:08 server postfix/smtpd[15517]: smtpd_sasl_authenticate: sasl_method LOGIN
May 25 17:45:08 server postfix/smtpd[15517]: smtpd_sasl_authenticate: uncoded challenge: Username:
May 25 17:45:08 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 334 {..value..}
May 25 17:45:08 server postfix/smtpd[15517]: < unknown[84.119.77.63]: {..value..}
May 25 17:45:08 server postfix/smtpd[15517]: smtpd_sasl_authenticate: decoded response: root@mydomain.net
May 25 17:45:08 server postfix/smtpd[15517]: smtpd_sasl_authenticate: uncoded challenge: Password:
May 25 17:45:08 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 334 {..value..}
May 25 17:45:08 server postfix/smtpd[15517]: < unknown[84.119.77.63]: {..value..}
May 25 17:45:08 server postfix/smtpd[15517]: smtpd_sasl_authenticate: decoded response: {..richtiges passwort..}
May 25 17:45:10 server postfix/smtpd[15517]: warning: unknown[84.119.77.63]: SASL LOGIN authentication failed
May 25 17:45:10 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 535 Error: authentication failed
May 25 17:45:14 server postfix/smtpd[15517]: < unknown[84.119.77.63]: QUIT
May 25 17:45:14 server postfix/smtpd[15517]: > unknown[84.119.77.63]: 221 Bye
May 25 17:45:14 server postfix/smtpd[15517]: match_hostname: unknown ~? 127.0.0.0/8
May 25 17:45:14 server postfix/smtpd[15517]: match_hostaddr: 84.119.77.63 ~? 127.0.0.0/8
May 25 17:45:14 server postfix/smtpd[15517]: match_list_match: unknown: no match
May 25 17:45:14 server postfix/smtpd[15517]: match_list_match: 84.119.77.63: no match
May 25 17:45:14 server postfix/smtpd[15517]: send attr request = disconnect
May 25 17:45:14 server postfix/smtpd[15517]: send attr ident = smtp:84.119.77.63
May 25 17:45:14 server postfix/smtpd[15517]: private/anvil: wanted attribute: status
May 25 17:45:14 server postfix/smtpd[15517]: input attribute name: status
May 25 17:45:14 server postfix/smtpd[15517]: input attribute value: 0
May 25 17:45:14 server postfix/smtpd[15517]: private/anvil: wanted attribute: (list terminator)
May 25 17:45:14 server postfix/smtpd[15517]: input attribute name: (end)
May 25 17:45:14 server postfix/smtpd[15517]: disconnect from unknown[84.119.77.63]
May 25 17:45:14 server postfix/smtpd[15517]: master_notify: status 1
May 25 17:45:14 server postfix/smtpd[15517]: connection closed
May 25 17:45:34 server postfix/smtpd[15517]: proxymap stream disconnect
```
mysqld.log:

```
080525 17:45:08         17 Quit      
             18 Connect     mail_admin_username@localhost on mail
             18 Init DB     mail
             18 Query       SELECT password FROM users WHERE email = 'root'
080525 17:45:10         18 Quit
```


----------

