Frage

Hey, ich habe einen Windows-Server läuft Python CGI-Skripte, und ich bin ein wenig Mühe mit smtplib haben. Der Server läuft Python 2.1 (leider, und ich kann es nicht aktualisieren). Auf jeden Fall habe ich den folgenden Code:

    session = smtplib.SMTP("smtp-auth.ourhosting.com", 587)
    session.login(smtpuser, smtppass)

und es gibt mir diese Fehlermeldung:

exceptions.AttributeError :  SMTP instance has no attribute 'login' :  

Ich gehe davon aus das ist, weil die Anmeldung () Methode nach Python 2.1 hinzugefügt. so wie kann ich dieses Problem beheben?

Ich muss entweder das Modul hinzufügen, indem Sie die Dateien in das gleiche Verzeichnis wie das CGI-Skript das Hochladen (obwohl ich glaube, smtplib in C geschrieben und muss erstellt werden, die wir auf diesem Server nicht tun)

oder

es tun, was Art und Weise wird durch die libsmtp in Python erwartet 2.1

Vielen Dank!

War es hilfreich?

Lösung

login () wurde in Python 2.2, unglücklicherweise für Sie eingeführt! Der einzige Weg, um es in eigenen smtplib Python 2.1 zu tun, die AUTH-Befehle manuell zu erteilen wäre, was nicht viel Spaß machen würde.

Ich habe es nicht vollständig getestet, aber es scheint smtplib Python 2.2 sollte auf 2.1 mehr oder weniger Arbeit, wenn Sie es über kopieren, wie Sie beschreiben (vielleicht nennt es smtplib2.py). Es ist nur ein Python-Modul, sollte keine C Kompilierung erforderlich sein. Jedoch Sie benötigen mindestens die hmac.py Bibliothek kopieren und von 2,2 lib auf beruht. Wenn Sie eine neuere Python-Version verwenden, um zu stehlen aus startet er das E-Mail-Paket zu erfordern, was könnte mehr Arbeit sein.

Andere Tipps

  

es tun, was Art und Weise wird durch die libsmtp in Python erwartet 2.1

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top