在JavaMail中使用message.getFrom()时,仅显示要显示的电子邮件地址

目前,当使用JavaMail时,如果我使用getFrom()将消息分解为单独的部分,则getFrom()也将显示发送者的名称。 这可能是一个简单的问题,但是如何制作它只会返回电子邮件地址。 对不起,如果这是一个简单的问题,但我似乎无法找到答案。

事实certificate,该地址已经为您解析。 由于JavaMail愚蠢的额外抽象层,它将InternetAddress对象作为其Address超类返回。 Address对象几乎没用。 您需要将它们转发回InternetAddress ,然后只需获取电子邮件部分:

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