问题描述
我正在尝试设置一个程序,它只等待新电子邮件并处理任何新电子邮件,即如果它们在主题中包含某些单词,则打印出任何 pdf 附件。我可以使用下面的代码获得新电子邮件到达的信号,但不知道如何获取电子邮件内容 - 正文、主题、附件等
import asyncio
from aioimaplib import aioimaplib
import email
@asyncio.coroutine
def wait_for_new_message(host,user,password):
imap_client = aioimaplib.IMAP4_SSL(host=host)
yield from imap_client.wait_hello_from_server()
yield from imap_client.login(user,password)
yield from imap_client.select()
idle = yield from imap_client.idle_start(timeout=10)
while imap_client.has_pending_idle():
msg = yield from imap_client.wait_server_push()
print(msg)
if 'EXISTS' in msg[1]:
id = msg[1].split(" ")[0]
result,data = yield from imap_client.fetch(id,'(RFC822)')
email_message = email.message_from_bytes(data[0])
print(email_message)
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(wait_for_new_message(host,password))
print msg
给出例如['1 RECENT','39 EXISTS']
表示收到的每封新电子邮件。如何获取电子邮件内容?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)