#java #jakarta-mail
#java #джакарта-почта
Вопрос:
У меня есть этот код
Address[] from = message.getFrom();
System.out.println(from[0]);
Что печатает: AuthorName <name@domain>
или name@domain
— зависит от почты.
Как я могу получать только name@domain
все время, без AuthorName
?
Комментарии:
1. Вы могли бы попробовать использовать не an
Address
, а один из его подклассов, anInternetAddress
, который различает личное имя и фактический адрес электронной почты.
Ответ №1:
Адрес является абстрактным, и Javadoc указывает на два производных класса, один для новостей, а другой с не слишком полезным именем InternetAddress
(думаю, новостей тогда не было в Интернете).
В этом случае вы, вероятно, получите InternetAddress
, у которого есть метод getAddress, который, похоже, делает то, что вы хотите. Итак, приведите возвращаемый адрес к InternetAddress
и получите адрес электронной почты:
Address[] from = message.getFrom();
InternetAddress ia = (InternetAddress) from[0];
System.out.println(ia.getAddress());