我真的开始了解IMAPClient。代码:'BODY[HEADER.FIELDS (FROM)]'
返回
From: First Last <first.last@domain.com>
我真的很想回复这样的电子邮件地址:
first.last@lbox.com
我是否需要先将其传递给变量并将其修剪下来,还是可以使用另一个fetch
修饰符?
response = server.fetch(messages, ['FLAGS', 'RFC822.SIZE', 'BODY[HEADER.FIELDS (FROM)]'])
for msgid, data in response.iteritems():
print ' ID %d: %d bytes, From: %s flags=%s' % (msgid,
data['RFC822.SIZE'],
data['BODY[HEADER.FIELDS (FROM)]'],
data['FLAGS'])
答案 0 :(得分:3)
不 - 你不能用IMAP请求做到这一点,如果你查看我的其他帖子,你会注意到使用parseaddr
的内容,但这里又是你的例子:
>>> from email.utils import parseaddr
>>> a = 'From: First Last <first.last@domain.com>'
>>> parseaddr(a)
('First Last', 'first.last@domain.com')
答案 1 :(得分:0)
IMAPLIB不会为您解析大部分协议。它按原样从服务器返回该行。
您可以而且应该使用email
库中的解析器来帮助您。