Email Client

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
BlackMamba
User
Beiträge: 77
Registriert: Samstag 24. März 2007, 23:22
Wohnort: Germany,NRW,

Hallo, bin dabei mit Tkinter mir einen eigen EmailClient zu schrieben, rein zu Übungszwecken.
Allerdings bekomme ich die Verbindung überPOP3 mit dem Server nicht hin.
Hier mal der entsprechende Ausschnitt aus dem Programm. Warscheinlich nur ein ganz kleiner blöder Fehler,also bitte nicht drüber lachen, hab haber schon so einiges ausprobiert:

Code: Alles auswählen

import poplib

client = poplib.POP3('pop.googlemail.com')
client.user('sebastianwtr@googlemail.com')
client.pass_('123456789') #dies ist nur ein fiktiver Schlüssel, mit dem echten funktioniert es auch nicht
anzahl_mails = len(client.list()[1])

print anzahl_mails

als Fehlermeldung kommt dann folgendes:

>>> Traceback (most recent call last):
File "C:\Python25\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 310, in RunScript
exec codeObject in __main__.__dict__
File "C:\Dokumente und Einstellungen\Sebastian\Desktop\email1.py", line 3, in <module>
client = poplib.POP3('googlemail.com')
File "C:\Python25\lib\poplib.py", line 96, in __init__
raise socket.error, msg
error: (10060, 'Operation timed out')
>>>


Danke für die Hilfe, bei diesem Problem!

[/code]
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hast du überhaupt POP3-Unterstützung auf deinem Gmail-Konto aktiviert?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackMamba
User
Beiträge: 77
Registriert: Samstag 24. März 2007, 23:22
Wohnort: Germany,NRW,

ups....hatte ich tatsächlich vergessen zu aktivieren..... :oops:

Habe ich aber jetzt aktiviert.

Die Fehlermeldung bleibt aber trotzdem:
>>> Traceback (most recent call last):
File "C:\Python25\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 310, in RunScript
exec codeObject in __main__.__dict__
File "C:\Dokumente und Einstellungen\Sebastian\Desktop\email1.py", line 3, in <module>
client = poplib.POP3('googlemail.com')
File "C:\Python25\lib\poplib.py", line 96, in __init__
raise socket.error, msg
error: (10060, 'Operation timed out')
>>>
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

So wie mir scheint, hat Gmail keine unverschlüsselte POP3-Unterstützung, also versuchs mal mit POP3_SSL.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackMamba
User
Beiträge: 77
Registriert: Samstag 24. März 2007, 23:22
Wohnort: Germany,NRW,

probiere ich gleich mal aus und poste das dann.
BlackMamba
User
Beiträge: 77
Registriert: Samstag 24. März 2007, 23:22
Wohnort: Germany,NRW,

habs jetzt hiermit ausprobiert:

Code: Alles auswählen

import poplib

portSSL =995 #bei gmail ist 995 für SSL bestimmt

client = poplib.POP3('pop.googlemail.com', portSSL)
client.user('sebastianwtr@googlemail.com')
client.pass_('123456789')
anzahl_mails = len(client.list()[1])

print anzahl_mails
jetzt kommt folgende Fehlermeldung:

>>> Traceback (most recent call last):
File "C:\Python25\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 310, in RunScript
exec codeObject in __main__.__dict__
File "C:\Dokumente und Einstellungen\Sebastian\Desktop\email1.py", line 5, in <module>
client = poplib.POP3('pop.googlemail.com', portSSL)
File "C:\Python25\lib\poplib.py", line 99, in __init__
self.welcome = self._getresp()
File "C:\Python25\lib\poplib.py", line 137, in _getresp
resp, o = self._getline()
File "C:\Python25\lib\poplib.py", line 121, in _getline
if not line: raise error_proto('-ERR EOF')
error_proto: -ERR EOF
>>>


oder muss die SSL Übertragung bei Python noch initialisiert werden?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

BlackMamba hat geschrieben:oder muss die SSL Übertragung bei Python noch initialisiert werden?
Wie ich geschrieben habe, du musst die ``POP3_SSL``-Klasse verwenden, die nutzt schon den richtigen Port. Steht übrigens genau so in der Dokumentation drinnen.

Was du machst ist unverschlüsseltes POP3 über den expliziten SSL Port für POP3S laufen zu lassen - das funktioniert natürlich nicht.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackMamba
User
Beiträge: 77
Registriert: Samstag 24. März 2007, 23:22
Wohnort: Germany,NRW,

macht Sinn was du schreibst :D

Danke für die Hilfe! Dann werde ich das mal ausprobieren.
Antworten