从imap或pop3服务器读取电子邮件
我的任务是使用imap或pop3服务器地址读取电子邮件。我正在尝试使用python完成此任务。所有示例代码avaliable做这个任务抛出下面从imap或pop3服务器读取电子邮件
“错误提到的错误:[错误10060]连接尝试失败,因为连接的方没有正确一段时间后响应或已建立的连接失败,因为连接主机未能响应”
什么可能的问题是,这是我的本地防火墙设置,或者可能是由于一些其他原因?????如下使用Telnet:
telnet imap.gmail.com 993
如果网络是幸福的,你应该会看到类似这样的回复
import imaplib
imap_host = 'imap.gmail.com'
imap_user = '****@gmail.com'
imap_pass = '****'
## open a connection
imap = imaplib.IMAP4_SSL(imap_host)
## login
imap.login(imap_user, imap_pass)
和
import sys
import chilkat
imap = chilkat.CkImap()
# Anything unlocks the component and begins a fully-functional 30-day trial.
success = imap.UnlockComponent("Anything for 30-day trial")
if (success != True):
print(imap.lastErrorText())
sys.exit()
# Turn on session logging:
imap.put_KeepSessionLog(True)
# Connect to GMail
# Use TLS
imap.put_Ssl(True)
imap.put_Port(993)
success = imap.Connect("imap.gmail.com")
if (success != True):
print(imap.lastErrorText())
sys.exit()
# Login
# Your login is typically your GMail email address.
success = imap.Login("***@gmail.com","*****")
if (success != True):
print(imap.lastErrorText())
sys.exit()
# Select an IMAP mailbox
success = imap.SelectMailbox("Inbox")
if (success != True):
print(imap.lastErrorText())
sys.exit()
# Show the session log.
print(imap.sessionLog())
# Disconnect from the IMAP server.
success = imap.Disconnect()
首先,我建议做一个简单的网络健全的测试如:
Trying 64.233.188.109...
Connected to gmail-imap.l.google.com.
Escape character is '^]'.
它可能还查看Gmail帮助页面IMAP
**正在连接到imap.gmail.com ...无法在端口993上打开与主机的连接:连接失败** ----正在接收以下错误....原因为何会发生这种情况... 。有什么建议么? –
很可能您的防火墙不允许在端口993上传出连接,这对于企业设置来说很典型,出于安全原因,他们可能想限制电子邮件进入组织的方式。 如果这是一个家庭设置,那么你可能想检查你的路由器网页管理页面。 我假设你可以ping imap.gmail.com? 要找出防火墙的地址,您可能需要查看traceroute(或windows下的tracert),这可以向您显示问题可能发生的所有网络跳跃。 – PsymonR
你能后的代码示例是值得的? 我们无法知道什么是超时的来源,而不知道您想要做什么。 – Quitty
我敢打赌,您正试图在端口143上进行连接。Gmail仅在端口993上进行回复,并使用SSL封装。 – arnt