使用poplib获取电子邮件时出错

时间:2011-01-10 03:05:33

标签: python http sockets networking poplib

我正在使用poplib从POP3服务器获取电子邮件。

但是发生了这个错误:

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

我的笔记本电脑位于本地网络中,并使用服务器(IP 192.168.0.1:8080)作为代理来访问互联网。错误似乎poplib无法解释域“pop3.126.com”。如何解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:1)

您的代理是针对http的,它不会影响pop3流量。

粗略一瞥表明它可能无法将主机名解析为IP地址。

你可以试试其中一种:

pop3.126.idns.yeah.net
220.181.15.128

或粘贴输出:

nslookup pop3.126.com