Разобрать адрес электронной почты только без имени

При использовании библиотеки электронной почты есть ли способ получить адрес электронной почты в Интернете без имени, поэтому для "Jon Doe"<[email protected]> как я могу просто получить [email protected].

Я загружаю mime-сообщение из файла с помощью email.message_from_binary_file(), а затем получаю заголовок FROM, обращаясь к ключу "from":

message = email.message_from_binary_file()
from_header = message["from"]

Кажется, я не могу найти в документах электронной почты, как я могу разобрать это дальше, чтобы просто адрес электронной почты?

РЕДАКТИРОВАТЬ: Текущее решение, которое я не считаю очень элегантным и может быть подвержено ошибкам, заключается в том, чтобы делать регулярное выражение так:

from_header = re.findall('\S+@\S+', message["from"])[0][1:-1]

Итак, получите первый (и единственный) элемент из списка регулярных выражений, а затем удалите открывающую и закрывающую скобки ("<" и ">")


person kravb    schedule 23.02.2021    source источник
comment
Отвечает ли это на ваш вопрос? Получить адрес электронной почты отправителя с помощью Python IMAP   -  person BallpointBen    schedule 23.02.2021
comment
@BallpointBen Да, это именно то, что мне было нужно. Спасибо.   -  person kravb    schedule 23.02.2021