How do you extract multiple email addresses from an RFC 2822 mail header in python?

十年热恋 提交于 2019-12-01 21:27:32

Pass all of the To lines through email.utils.getaddresses():

msg="""To: user1@company1.com, John Doe <user2@example.com>, "Public, John Q." <user3@example.com>
From: anotheruser@user.com
Subject: This is a subject

This is the message.
"""

import email

msg822 = email.message_from_string(msg)
for to in email.utils.getaddresses(msg822.get_all("To", [])):
    print("To:",to)

Note that I rewrote your To line. I believe your example wasn't a valid format.

Reference: https://docs.python.org/2/library/email.util.html#email.utils.getaddresses

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!