feat: Verschluesselung waehlbar, dazu zwei Layout-Fehler
Verschluesselung: Bisher gab es nur den Schalter use_ssl – also implizites TLS auf 993 oder gar nichts. STARTTLS auf 143 fehlte ganz, und das bieten viele Anbieter an. Jetzt ein Feld mit drei Werten, der Port zieht bei der Auswahl mit, und "keine" warnt, dass Zugangsdaten im Klartext gehen. Layout: Die Postfach-Karte steht in einer schmalen Spalte; der waagerechte Aufbau brach dort auf ein Wort je Zeile um und die Knoepfe lagen ueber dem Titel. Jetzt gestapelt. Die Einstellungsseite nutzte ein Raster, das die Karten zeilenweise ausrichtet – die zweite Reihe begann erst unter der hoechsten Karte der ersten, weshalb "Backup zurueckladen" allein weit unten stand. Jetzt fliessen die Karten spaltenweise, und die Spalten sind breiter: vier schmale Karten nebeneinander waren auf dem Notebook nicht lesbar. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -45,14 +45,22 @@ def _verbinden(quelle: MailSource) -> imaplib.IMAP4:
|
||||
"Das gespeicherte Passwort lässt sich nicht mehr entschlüsseln. "
|
||||
"Wurde das Server-Geheimnis getauscht? Dann bitte neu eintragen."
|
||||
)
|
||||
art = (quelle.security or "ssl").lower()
|
||||
try:
|
||||
verbindung = (
|
||||
imaplib.IMAP4_SSL(quelle.host, quelle.port)
|
||||
if quelle.use_ssl
|
||||
else imaplib.IMAP4(quelle.host, quelle.port)
|
||||
)
|
||||
if art == "ssl":
|
||||
# TLS ab der ersten Zeile – der Normalfall auf Port 993.
|
||||
verbindung = imaplib.IMAP4_SSL(quelle.host, quelle.port)
|
||||
else:
|
||||
verbindung = imaplib.IMAP4(quelle.host, quelle.port)
|
||||
if art == "starttls":
|
||||
# Erst im Klartext verbinden, dann verschlüsseln (Port 143).
|
||||
verbindung.starttls()
|
||||
except OSError as e:
|
||||
raise MailFehler(f"Keine Verbindung zu {quelle.host}:{quelle.port} – {e}") from e
|
||||
except imaplib.IMAP4.error as e:
|
||||
raise MailFehler(
|
||||
f"Verschlüsselung fehlgeschlagen ({art}). Passt die Angabe zum Port {quelle.port}? – {e}"
|
||||
) from e
|
||||
try:
|
||||
verbindung.login(quelle.username, passwort)
|
||||
except imaplib.IMAP4.error as e:
|
||||
|
||||
Reference in New Issue
Block a user