import imaplib
import email
import socket
socket.getaddrinfo('127.0.0.1', 8080)
def read_email_from_gmail():
try:
mail = imaplib.IMAP4_SSL('imap.gmail.com', 993)
mail.login('your email', 'your password')
mail.select('inbox')
type, data = mail.search(None, 'ALL')
mail_ids = data[0]
id_list = mail_ids.split()
typ, data = mail.fetch(bytes(str(id_list), 'utf-8'), '(RFC822)')
for responsepart in data:
if isinstance(responsepart, tuple):
msg = email.message_from_string(responsepart[1].decode('utf-8'))
email_subject = msg['subject']
email_from = msg['from']
print('From : ' + email_from + '\n')
print('Subject : ' + email_subject + '\n')
except Exception as e:
print(str(e))
read_email_from_gmail()
输出:FETCH命令错误:错误[b'无法解析命令']
我想使用Python从Gmail接收邮件。有人可以帮我解决我的问题吗?这是什么错误?
提前谢谢!
答案 0 :(得分:0)
我认为您的服务器名称错误。应该是imap.gmail.com
。
这就是我想出的办法。我搜索了11001和getaddrinfo,得知此错误代码来自Windows,表示找不到主机。
我尝试ping imap.google.com
,但主机名无法解析。
我搜索了“ google imap服务器”,并在Google's documentation中找到了另一个主机名。