Seite 1 von 1

Email Client

Verfasst: Donnerstag 30. August 2007, 13:08
von BlackMamba
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]

Verfasst: Donnerstag 30. August 2007, 13:10
von Leonidas
Hast du überhaupt POP3-Unterstützung auf deinem Gmail-Konto aktiviert?

Verfasst: Donnerstag 30. August 2007, 13:15
von BlackMamba
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')
>>>

Verfasst: Donnerstag 30. August 2007, 13:25
von Leonidas
So wie mir scheint, hat Gmail keine unverschlüsselte POP3-Unterstützung, also versuchs mal mit POP3_SSL.

Verfasst: Donnerstag 30. August 2007, 13:49
von BlackMamba
probiere ich gleich mal aus und poste das dann.

Verfasst: Donnerstag 30. August 2007, 13:54
von BlackMamba
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?

Verfasst: Donnerstag 30. August 2007, 13:59
von Leonidas
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.

Verfasst: Donnerstag 30. August 2007, 14:01
von BlackMamba
macht Sinn was du schreibst :D

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