当前,当我使用JavaMail时,如果我使用getFrom()
将消息分解为单独的部分,则getFrom()
还将显示发件人的姓名。这可能是一个简单的问题,但是如何实现,因此仅返回电子邮件地址。抱歉,这是一个简单的问题,但我似乎找不到答案。
最佳答案
事实证明,该地址已经为您解析。由于JavaMail愚蠢的额外抽象层,它将 InternetAddress
对象作为其Address
父类(super class)返回。 Address
对象几乎没有用。您需要将其转换回InternetAddress
,然后仅获取电子邮件部分:
Address[] froms = message.getFrom();
String email = froms == null ? null : ((InternetAddress) froms[0]).getAddress();