Получение только адреса электронной почты для отображения при использовании message.getFrom () в JavaMail - PullRequest
13 голосов
/ 07 марта 2011

В настоящее время при использовании JavaMail, если я использую getFrom() для разбиения сообщения на отдельные части, getFrom() также будет отображать имя отправителя. Это может быть простой вопрос, но как сделать так, чтобы возвращался только адрес электронной почты. Извините, если это простой вопрос, но я не могу найти ответ.

1 Ответ

50 голосов
/ 07 марта 2011

Как оказалось, адрес уже разобрали для вас.Из-за глупого дополнительного уровня абстракции JavaMail он возвращает InternetAddress объекты в качестве Address суперкласса.Address объекты практически бесполезны.Вам нужно привести их обратно к InternetAddress, а затем просто получить часть электронной почты:

Address[] froms = message.getFrom();
String email = froms == null ? null : ((InternetAddress) froms[0]).getAddress();
...