Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python接收电子邮件_Python_Email_Imaplib - Fatal编程技术网

用Python接收电子邮件

用Python接收电子邮件,python,email,imaplib,Python,Email,Imaplib,我尝试在我的Pi上接收电子邮件,到目前为止,我从gmail的收件箱接收电子邮件,但是我尝试在没有添加所有内容(如消息ID和内容类型)的情况下接收它们。我在寻找纯电子邮件正文文本。到目前为止我已经知道了 import imaplib mail = imaplib.IMAP4_SSL('imap.gmail.com') mail.login('xxxxxxx', 'xxxxxx') mail.list mail.select("inbox") obj, data = mail

我尝试在我的Pi上接收电子邮件,到目前为止,我从gmail的收件箱接收电子邮件,但是我尝试在没有添加所有内容(如消息ID和内容类型)的情况下接收它们。我在寻找纯电子邮件正文文本。到目前为止我已经知道了

 import imaplib

 mail = imaplib.IMAP4_SSL('imap.gmail.com')

 mail.login('xxxxxxx', 'xxxxxx')

 mail.list

 mail.select("inbox")


 obj, data = mail.search(None, 'ALL')

 for num in data [0].split():

 typ, data = mail.fetch(num, '(RFC822)')

 print 'Message %s\n%s\n' % (num, data[0][1])

 mail.close()

尝试将
'BODY[1]'
作为字符串传递,而不是
'(RFC822)

“BODY[1]”
的作用是指定您只需要电子邮件的文本/普通部分。您可以在本文档中找到,其中详细解释了第6.4.5节或第53页下的FETCH命令


希望这有帮助

所以我犯了一个新手错误,将我的文件命名为email.py,并且没有导入电子邮件


谢谢。

我在这方面遇到了很多错误:(文件“email.py”,type中的第9行,data=mail.fetch(num,'BODY[1]”),以及第455行和第1087行中的一系列其他错误,你会遇到什么样的错误?我编辑了我的答案,使之不那么具体(我没有太多使用Python 2.x的经验,主要使用Python 3.4)。但是,字符串规范应该是正确的。我收到一个fetch命令错误:错误['cannotparse command'],但它也不喜欢BODY[1]的答案。链接也很好。谢谢!