Thunderbird/Linux Postfix -- Thunderbird will das Passwort nicht

textract

Lt. Commander
Registriert
Aug. 2011
Beiträge
1.841
Hallo meine lieben und Liebenden,

wie im Titel schon gesagt, habe ich Probleme mit der Einrichtung meines Mailkontos in Thunderbird.
Serverseitig kommt ein Linux Debian 7 mit Postfix Server zum Einsatz. Clientseitig verwende ich Windows 8 32Bit (eher unfreiwillig, weil Geschäftscomputer), sowie Thunderbird 17.0.7
IMAP/IMAPS wurden mit Courier IMAP implementiert. SMTPS habe ich über die master.cf Konfiguration vom Postfix verfügbar gemacht. Beides lief problemlos, die Ports sind offen.
Das /home meines Benutzers wurde auf das Maildir-Format angepasst und das habe ich auch dem Postfix beigebracht.

Nun zu meinem Problem.

Bei der Einrichtung des Mailaccounts in Thunderbird bekomme ich folgende Fehlermeldung:
Konfiguration konnte nicht überprüft werden - ist der Benutzer, oder das Password falsch?

Benutzername und Passwort sind definitiv korrekt! Ich habe es zu Testzwecken mit "123" ohne die " probiert und auch so klappt es nicht.
Die Ports 993 und 465 sind auf dem Zielserver geöffnet, bei SSL habe ich also SSL/TLS ausgewählt (unverschlüsselt klappt es auch nicht) und bei Authentifizierung Passwort, normal.

Ich weiß leider nicht, ob der Thread in diesem Unterforum richtig ist, oder er zu Linux gehört.
Bitte entschuldigt meine mögliche Fehleinschätzung.

Vorab vielen Dank für die Hilfe

Viele Grüße

tex
 
Hallo tex,

das Offensichtliche mal zuerst: Hast du Postfix schonmal neu gestartet ?
Arbeitest du mit zusätzlichen config-files ? aliases, virtual ? Wenn ja, hast du ein postmap ausgeführt ?
 
Kannst du vom Client aus eine einfache Telnet-Verbindung zum Server aufbauen?
Kannst du auf dem Server einen Webmailer nachrüsten und den Login darüber austesten?

Ich empfehle übrigens die Verwendung von virtuellen Mailkonten mit Zugangsdaten per Datenbank. Ist um einiges angenehmer.
 
Hi Daaron,

Kannst du vom Client aus eine einfache Telnet-Verbindung zum Server aufbauen?

Ich habe keinen Telnetserver auf dem Server installiert, oder kann ich auf Port 465 eine Telnetverbindung herstellen? O.o
Was ich kann, ist SSH auf Port 22. Das ist kein Problem.

Kannst du auf dem Server einen Webmailer nachrüsten und den Login darüber austesten?

Können, ganz sicher. Kannst du mir da einen empfehlen? Als ich noch Auszubildender war, schwor mein Lehrer in IT-Systemtechnik auf roundcube. Was sagst du dazu?

Ich empfehle übrigens die Verwendung von virtuellen Mailkonten mit Zugangsdaten per Datenbank. Ist um einiges angenehmer.

Werde ich mir mal im Hinterkopf behalten, sobald ich einen produktiven Mailserver am laufen haben muss (steht in meiner neuen Firma vielleicht sogar im Frühjahr an), aber für die Hand voll privater Nutzer, was sich auf Freunde, bei Bedarf Familie und mich beschränkt, legt ich einfach neue Benutzer auf dem Server an. Via /etc/skel kann ich ja sowieso standardmäßig die Verzeichnisse für das Maildirformat anlegen lassen und ich kann einfach die Shell auf der /etc/passwd nehmen, wenn ich denn unbedingt wollte, dass sie keinen Zugriff auf meinen Server bekommen, ohne Exploits zu nutzen. Der Aufwand ist also auch dementsprechend klein, aber danke für den Tipp ;)

Ich habe mir vorhin übrigens einen kleinen, aber leider etwas unschönen, workaround gebastelt.
Man kann in Thunderbird bei der Verbindungsart STARTTLS über Port 25 wählen. Die Verbindung wird dann auch verschlüsselt, sowie die Authentifizierung. Ist zwar nicht gerade das, was ich wollte, aber reich mir übergangsweise.

Ich bin also weiterhin froh, über jede helfende Antwort!

Vielen Dank erst einmal an euch beide

Gute Nacht und viele Grüße

tex
 
textract schrieb:
Ich habe keinen Telnetserver auf dem Server installiert, oder kann ich auf Port 465 eine Telnetverbindung herstellen?
Jep. Viele Dienste antworten auf "telnet host port" (man beachte die Schreibweise, kein host: port [denk dir das Leerzeichen weg, Forum macht n Smiley] wie sonst üblich), SMTP ist z.B. einer davon. Auch Dienste wie memcached oder munin-node kann man auf diese Weise testen.
Du kannst sogar ganze Mails nur über telnet versenden. Erst funkst du den SMTP-Port an, meldest dich mit einem HELO und folgst dann ganz gemütlich dem Protokoll.

Können, ganz sicher. Kannst du mir da einen empfehlen? Als ich noch Auszubildender war, schwor mein Lehrer in IT-Systemtechnik auf roundcube. Was sagst du dazu?
Wir nutzen Roundcube als Webmailer für uns und unsere Kunden. Ansprechendes Design, komfortable Bedienung, deutlich einfachere Konfiguration als z.B. Squirrel...
Oh, und für Roundcube gibts halt so pornös viele Plugins. Wir haben z.B. ein Fail2Ban-Plugin gegen (rudimentäre) Brute-Force - Angriffe mit drin, über ein weiteres Plugin kann ein User sein Passwort problemlos ändern, Weiterleitungen einrichten, den Spamfilter-Level ändern oder Abwesenheitsnachrichten verfassen und timer-gesteuert aktivieren.

Sicher, vieles davon geht sicher auch irgendwie mit Squirrel oder anderen Produkten... aber wozu? Es funktioniert perfekt. Mir fehlt nur noch n LDAP-Server, um das Adressbuch nicht nur in der Datenbank zu haben sondern auch z.B. mit Desktopclients wie TBird zu syncen.

Ich habe mir vorhin übrigens einen kleinen, aber leider etwas unschönen, workaround gebastelt.
Man kann in Thunderbird bei der Verbindungsart STARTTLS über Port 25 wählen. Die Verbindung wird dann auch verschlüsselt, sowie die Authentifizierung. Ist zwar nicht gerade das, was ich wollte, aber reich mir übergangsweise.
Hat also dein sicherer SMTP gesponnen?
Dann hast du entweder eine grundlegende Fehlkonfiguration in Postfix, kein Cert (und sei es Snakeoil) hinterlegt oder dein TBird erkennt das Snakeoil nicht an.
 
Hi Daaron,

Jep. Viele Dienste antworten auf "telnet host port" (man beachte die Schreibweise, kein host: port [denk dir das Leerzeichen weg, Forum macht n Smiley] wie sonst üblich), SMTP ist z.B. einer davon. Auch Dienste wie memcached oder munin-node kann man auf diese Weise testen.
Du kannst sogar ganze Mails nur über telnet versenden. Erst funkst du den SMTP-Port an, meldest dich mit einem HELO und folgst dann ganz gemütlich dem Protokoll.

Interessant zu wissen, werde mich bei Gelegenheit mal genauer in das Thema einlesen!

Wir nutzen Roundcube als Webmailer für uns und unsere Kunden. Ansprechendes Design, komfortable Bedienung, deutlich einfachere Konfiguration als z.B. Squirrel...
Oh, und für Roundcube gibts halt so pornös viele Plugins. Wir haben z.B. ein Fail2Ban-Plugin gegen (rudimentäre) Brute-Force - Angriffe mit drin, über ein weiteres Plugin kann ein User sein Passwort problemlos ändern, Weiterleitungen einrichten, den Spamfilter-Level ändern oder Abwesenheitsnachrichten verfassen und timer-gesteuert aktivieren.

Dann wird es Roundcube werden! :D
Werde mich mal näher mit dem Thema beschäftigen.

Hat also dein sicherer SMTP gesponnen?
Dann hast du entweder eine grundlegende Fehlkonfiguration in Postfix, kein Cert (und sei es Snakeoil) hinterlegt oder dein TBird erkennt das Snakeoil nicht an.

Sieht so aus, als ob SMTPS bei wohl doch nicht so richtig implementiert ist, wie ich mir das vorgestellt habe.
Die Telnetverbindungauf Port 465 mit Putty schlägt mit folgender Fehlermeldung fehl:
Code:
Network error: Connection refused

Zertifikat ist aber vorhanden.
Code:
root@vmd3341:~# find /* |grep snakeoil
/etc/ssl/private/ssl-cert-snakeoil.key
/etc/ssl/certs/ssl-cert-snakeoil.pem

Folgende ist die master.cf:
Code:
#
# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       -       -       -       smtpd
#smtp      inet  n       -       -       -       1       postscreen
#smtpd     pass  -       -       -       -       -       smtpd
#dnsblog   unix  -       -       -       -       0       dnsblog
#tlsproxy  unix  -       -       -       -       0       tlsproxy
#submission inet n       -       -       -       -       smtpd
#  -o syslog_name=postfix/submission
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
smtps     inet  n       -       -       -       -       smtpd
#  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#628       inet  n       -       -       -       -       qmqpd
pickup    fifo  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
#qmgr     fifo  n       -       n       300     1       oqmgr
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       -       -       -       smtp
relay     unix  -       -       -       -       -       smtp
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
retry     unix  -       -       -       -       -       error
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache    unix  -       -       -       -       1       scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent.  See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# ====================================================================
#
# Recent Cyrus versions can use the existing "lmtp" master.cf entry.
#
# Specify in cyrus.conf:
#   lmtp    cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
#
# Specify in main.cf one or more of the following:
#  mailbox_transport = lmtp:inet:localhost
#  virtual_transport = lmtp:inet:localhost
#
# ====================================================================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
#
#cyrus     unix  -       n       n       -       -       pipe
#  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# ====================================================================
# Old example of delivery via Cyrus.
#
#old-cyrus unix  -       n       n       -       -       pipe
#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# ====================================================================
#
# See the Postfix UUCP_README file for configuration details.
#
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix  -       n       n       -       2       pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}

Und das ist die main.cf (FQDN und Domain einfach mal raus genommen):
Code:
# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

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

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

home_mailbox = Maildir/
myhostname = <<FQDN>>
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = <<DOMAIN>>, <<FQDN>>, localhost.contabo.net, localhost
relayhost =
mynetworks = 0.0.0.0/0 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

Wäre echt super, wenn du dir das mal anschauen könntest, ob ich da einen grundlegenden Fehler habe.

Vorab vielen Dank und viele Grüße

tex
 
Zuletzt bearbeitet:
Hab grad mal unsere eigene Serverconfig getestet: der lauscht auch nur auf :25, aber eben mit STARTTLS, was vollkommen ausreichend ist.
 
Zurück
Oben