2011-01-10 3 views
0

Ich verwende poplib, um E-Mails vom POP3-Server zu erhalten.Fehler bei der Verwendung von Poplib, um E-Mails zu erhalten

Aber dieser Fehler ist aufgetreten:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "C:\Python26\lib\site-packages\myutils.py", line 251, in dxDown 
    m=poplib.POP3('pop3.126.com') 
    File "C:\Python26\lib\poplib.py", line 83, in __init__ 
    self.sock = socket.create_connection((host, port), timeout) 
    File "C:\Python26\lib\socket.py", line 500, in create_connection 
    for res in getaddrinfo(host, port, 0, SOCK_STREAM): 
socket.gaierror: [Errno 11004] getaddrinfo failed 

Mein Laptop in einem lokalen Netzwerk ist und mit einem Server (ip 192.168.0.1:8080) als Proxy-Internet zuzugreifen. Der Fehler scheint, dass poplib die Domain "pop3.126.com" nicht interpretieren kann. Wie man dieses Problem löst? Danke!

+0

Bitte umformatieren Ihre Frage ein wenig mehr lesbar zu sein. – richo

Antwort

1

Ihr Proxy ist für http, es hat keinen Einfluss auf den Pop3-Verkehr.

Ein flüchtiger Blick deutet darauf hin, dass es den Hostnamen wahrscheinlich nicht zu einer IP-Adresse auflösen kann.

Können Sie versuchen, eine davon:

pop3.126.idns.yeah.net 
220.181.15.128 

oder fügen Sie die Ausgabe von:

nslookup pop3.126.com

+0

Das Ergebnis von nslookup lautet pop3.126.idns.yeah.net 220.181.15.128 – Treper