![](/img/trans.png)
[英]How do you accsess to a gmail inbox and manage emails using python?
[英]How do you iterate through each email in your inbox using python?
我是编程新手,我正在尝试构建一个autorespoder来将msg发送到特定的电子邮件地址。
使用if语句,我可以检查收件箱中是否有来自某个地址的电子邮件,我可以发送电子邮件,但是如果该地址有多封电子邮件,我该如何制作for循环来为每个地址发送电子邮件来自该特定地址的电子邮件
我试着把它用作循环:
for M.search(None, 'From', address) in M.select():
但我得到错误:“无法分配给该函数调用”
正如您声称自己是编程新手,我最好的建议是:始终阅读文档。
也许你应该先阅读一个教程 。
文档提供了一个示例:
import getpass, imaplib
M = imaplib.IMAP4()
M.login(getpass.getuser(), getpass.getpass())
M.select()
typ, data = M.search(None, 'ALL')
for num in data[0].split():
typ, data = M.fetch(num, '(RFC822)')
print 'Message %s\n%s\n' % (num, data[0][3])
M.close()
M.logout()
你有没有尝试过?
关于你的代码:
定义for
循环时 ,它应该是:
for x in some_data_set:
x
是一个变量,它一次保存一个项的值(并且只能在for循环体中访问(有一个例外,但这在这里并不重要))。
你在做什么与imaplib模块无关,只是错误的语法。
顺便说一句。 .select()
选择邮箱,仅返回邮箱中的邮件数 。 即只是一个标量值,没有可以迭代的序列:
IMAP4.select([mailbox [,readonly]])
选择一个邮箱。 返回的数据是邮箱中的邮件计数(EXISTS响应)。 默认邮箱是“INBOX”。 如果设置了只读标志,则不允许对邮箱进行修改。
(这确实与imaplib模块有关;))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.