python - IMAPClient 和 BODY[HEADER.FIELDS (FROM)] 字段

标签 python imap imaplib imapclient

我真的开始掌握 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'])

最佳答案

不 - 您不能使用 IMAP 请求来做到这一点,如果您查看我的其他帖子,您会注意到使用 parseaddr 的内容,但这里又是您的示例:

>>> from email.utils import parseaddr
>>> a = 'From: First Last <first.last@domain.com>'
>>> parseaddr(a)
('First Last', 'first.last@domain.com')

关于python - IMAPClient 和 BODY[HEADER.FIELDS (FROM)] 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13213565/

相关文章:

Python:最佳字典实现

python - 如何限制我的子弹射程?

python - 仅从电子邮件中检索新消息

python - 如何在Python 3中捕获套接字超时?

Python imaplib 不会将消息标记为看不见

python - imaplib.错误 : command FETCH illegal in state AUTH

python - 重命名西里尔文件名

python - 使用 pyserial 处理 com 端口时出现错误

c# - 从 SslStream 读取内容

c++ - 为什么这个imapclient g++编译会出错