[Eisfair] mail 1.17.1: fetchmail scheitert am lokalen SMTP

Alexander Dahl lespocky at web.de
Di Jan 27 20:57:48 CET 2026


Hallo Marcus,

Marcus Röckrath schrieb Dienstag, 27. Januar 2026, 19:49 (CET):
> Hallo Alexander,
>
> Alexander Dahl wrote:
>
>>> Daher ist zwingend MAIL_USER_USE_MAILONLY_PASSWORDS=yes und die
>>> Userpasswörter für die lokalen User zu setzen; das kann das normale
>>> Userpasswort der Systemanmeldung sein. Für das Fetchmail-Passwort sorgt
>>> das mail-Paket (var/spool/exim/fetchmail-identity).
>> 
>> Wie werden denn bei MAIL_USER_USE_MAILONLY_PASSWORDS=yes diese
>> Passwörter gesetzt?  Kann ich die automatisch synchron halten oder muss
>> ich das dann manuell machen?
>
> Da die Systempasswörter nicht wirklich im System gespeichert sind, sondern 
> nur als Hashwert, können die nicht ausgelesen werden.
>
> Sind Systempasswörter und Mailpasswörter synchron liegen dann sogar die 
> Systempasswörter erst lesbar im System vor, was sie im Normalfall nie tun.

D.h. wenn man separate Mail-Passwörter macht, sollte man andere
verwenden bzw. sie nicht synchron halten.  Man hat dann halt
nutzerseitig ein Passwort mehr, was man sich merken bzw. sicher
speichern muss.

>> Wenn MAIL_USER_USE_MAILONLY_PASSWORDS=no
>> nicht (mehr) funktioniert, kann man es dann nicht auch gleich weglassen?
>
> Es geht doch nur um fetchmail nicht um die weiteren Authentifizierungen 
> deiner normalen User an pop/imap/smtp, für die gibt es hier keinerlei neue 
> Einschränkung/Änderung.

Das sehe ich anders.  Die Hilfe sagt "Über diesen Parameter wird
gesteuert, ob eine separate Kennwortdatei für POP3/IMAP verwendet werden
soll."  Dann müsste ich erstmal neue Passwörter für IMAP/POP3 setzen, da
sind nämlich aus Sicht des Mail-Pakets bisher gar keine gesetzt.  Und
würde ich sie setzen, stehen sie dann plötzlich unverschlüsselt als Wert
von MAIL_USER_x_PASS im System.

> Wenn MAIL_USER_USE_MAILONLY_PASSWORDS=no hier in deinem Netz bislang 
> funktioniert hat, tut es das auch weiterhin.
>
> Jürgen hat in mail.sh einen Kommentar für fetchmail drin:
>
> # CRAM-MD5 cannot be used when you want to compare the password with the
> # encrypted copy in /etc/shadow because the client doesn't send the secret
> # - it sends an MD5 hash of the challenge string plus the secret.
> # It can only be used if the password has been safed as clear text password
> # on the server. See MAIL_USER_USE_MAILONLY_PASSWORDS='yes' condition!
> # JED / 17.03.2003

Technisch gesehen stimmt das auch.  Das bezieht sich aber nur auf die
Authentifizierung, nicht auf die Verbindung.  Über eine verschlüsselte
Verbindung ist eine plain-Text Auth vertretbar.

> Haben deine lokalen eis-Mailserveruser in TB und Co Authentifizierungen für 
> imap/pop (Eingangsserver) und smtp (Ausgangsserver) eingetragen und sie 
> funktionieren?

Natürlich.  Ohne Auth geht es auch gar nicht.  Es muss das gleiche
Passwort angegeben werden wie beim Einloggen auf der Shell bzw. über
SSH.

> Welche Einstellungsoptionen stehen in den Clients?

Hier aus meiner .muttrc:

    set imap_user   = alex
    unset imap_pass
    set folder      = imaps://alex@mail.home.lespocky.de/
    set smtp_url    = smtp://alex@mail.home.lespocky.de/

> Login/Plain mit TLS?

Selbstverständlich TLS, sonst würden die Passwörter doch unverschlüsselt
über's Netz gehen?!

> Cram-MD5 für den Ausgangsserver vermutlich nicht.
>
> Dieses wird vom Mailpaket nur aktiviert, wenn MAIL_ONLY-Passwörter genutzt 
> werden - Jürgen möge mich gerne verbessern, bestätigen oder ergänzen, er 
> beschäftigt sich mit dem Mailpaket schon viel länger.
>
> IMHO wird sich an dem neuen Verhalten nichts mehr ändern, weil sich das 
> Verhalten von fetchmail im Bereich smtp massiv viel, IMHO wohl zurecht, 
> geändert hat.
>
>> Ich bin bis auf weiteres erstmal zurück auf 1.17.0, habe noch nicht
>> entschieden, wie ich hier weiter vorgehen möchte.
>
> Momentan kann man so vorgehen, aber es schliesst dich von weiteren Updates 
> aus, denn das spült dir dann wieder das neue fetchmail ins System.

Es sei denn eines der nächsten Updates fixed das Verhalten?  Ich vermute
die Authentifizierung am SMTP läuft über PAM?  Anders würde ja die
Anmeldung mit meinem Mail-Passwort nicht funktionieren.  Im Prinzip
macht das mail-Paket mit fetchmail hier ja fast alles richtig.  Es
generiert ein Passwort für den fetchmail-User, setzt das im System
(zumindest nach dem zweiten Abspeichern der Config), man
kann sich sogar mit diesem Passwort als fetchmail-User im System
anmelden.  Beim Anmelden am SMTP muss fetchmail dieses Passwort "einfach
nur" zur Auth verwenden.  Irgendwo klemmt es hier zwischen SMTP fordert
keine Auth an (was auch logisch ist, wenn externe Server hier Mail
einliefern sollen) und fetchmail will sich nicht authentifizieren.  Da
das für den Fall SMTP_AUTH_TYPE='server' aber ja funktioniert (mit
SMTP_AUTH_USER und SMTP_AUTH_PASS dann), muss es ja grundsätzlich gehen.

> Andere Möglichkeit: Das fetchmail-Binary aus dem Paket 1.17.0 vorhalten und 
> nach jedem Mail-Paket-Update wieder ins System kopieren. Inwieweit das 
> dauerhaft sinnvoll und möglich ist, kann ich nicht sagen.

Ganz sicher nicht sinnvoll.

Grüße
Alex

-- 
***** http://blog.antiblau.de/ *****************************
GnuPG-FP: C28E E6B9 0263 95CF 8FAF  08FA 34AD CD00 7221 5CC6


Mehr Informationen über die Mailingliste Eisfair