Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

Mail-Plugin mit SSL ohne StartTLS

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Mail-Plugin mit SSL ohne StartTLS

    Liebe Smarthome-Freunde,

    das Mail-Plugin in seinem jetzigen Zustand unterscheidet beim SMTP-Teil (den anderen habe ich nicht angeschaut) leider nicht zwischen SSL mit und ohne StartTLS, sondern setzt "ssl = True" mit "Schalte starttls ein" gleich. Das funktioniert z.B. mit GMail, aber nicht mit der SSL-Verschlüsselung von Strato auf Port 465.

    Dabei handelt es sich nicht um eine Einschränkung von Python - das ganze ist einfach nicht im Mail-Plugin implementiert. Als schnellen Hack habe ich jetzt folgende Lösung bei mir gefahren:

    Original:
    Code:
        def _connect(self):
            smtp = smtplib.SMTP(self._host, self._port)
            if self._ssl:
                smtp.starttls()
    Meine Version für Strato SSL ohne StartTLS:
    Code:
        def _connect(self):
            smtp = smtplib.SMTP_SSL(self._host, self._port)
    #        if self._ssl:
    #            smtp.starttls()
    Aber eigentlich sollte das Ganze konfigurierbar per plugins.conf sein. Die Frage ist jetzt, wie das am besten umzusetzen wäre. Mein Vorschlag wäre, einen zusätzlichen StartTLS-Parameter einzufügen (default: True), damit bisherige Installationen keine Probleme bekommen. Logik wäre dann:

    Wenn (ssl == True) UND (starttls == True) DANN verwende smtplib.SMTP und danach smtp.starttls()
    Wenn (ssl == True) UND (starttls == False) DANN verwende smtplib.SMTP_SSL
    Wenn (ssl == False) DANN verwende smtplib.SMTP

    Wäre das ok? Wie bringe ich das ein?

    Viele Grüße
    Gurkensalat
Lädt...
X