【发布时间】:2010-11-21 07:39:00
【问题描述】:
我正在使用 python 在服务器 (POP3) 上打开一封电子邮件。每封电子邮件都有一个附件,该附件本身就是转发的电子邮件。
我需要从附件中获取“收件人:”地址。
我正在使用 python 来帮助我学习这门语言,但我还没有那么好!
我已有的代码是这样的
import poplib, email, mimetypes
oPop = poplib.POP3( 'xx.xxx.xx.xx' )
oPop.user( 'abc@xxxxx.xxx' )
oPop.pass_( 'xxxxxx' )
(iNumMessages, iTotalSize ) = oPop.stat()
for thisNum in range(1, iNumMessages + 1):
(server_msg, body, octets) = oPop.retr(thisNum)
sMail = "\n".join( body )
oMsg = email.message_from_string( sMail )
# now what ??
我知道我将电子邮件作为电子邮件类的一个实例,但我不确定如何访问附件
我知道使用
sData = 'To'
if sData in oMsg:
print sData + "", oMsg[sData]
从主邮件中获取“收件人:”标题,但如何从附件中获取?
我试过了
for part in oMsg.walk():
oAttach = part.get_payload(1)
但我不确定如何处理 oAttach 对象。我试着把它变成一个字符串,然后把它传递给
oMsgAttach = email.message_from_string( oAttach )
但这无济于事。我对 python 文档有点不知所措,需要一些帮助。提前致谢。
【问题讨论】:
-
哪个电子邮件客户端发送电子邮件?
-
@codeape - 我不知道。电子邮件来自 yahoo 和 hotmail,附件是人们订阅的邮件列表发送的原始电子邮件,然后向 yahoo 和 hotmail 投诉。这是自动化黑名单的尝试
-
您的解决方案是什么?答案从未更新。