当前,当我使用JavaMail时,如果我使用getFrom()将消息分解为单独的部分,则getFrom()还将显示发件人的姓名。这可能是一个简单的问题,但是如何实现,因此仅返回电子邮件地址。抱歉,这是一个简单的问题,但我似乎找不到答案。

最佳答案

事实证明,该地址已经为您解析。由于JavaMail愚蠢的额外抽象层,它将 InternetAddress 对象作为其Address父类(super class)返回。 Address对象几乎没有用。您需要将其转换回InternetAddress,然后仅获取电子邮件部分:

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

08-07 06:24