目前使用JavaMail时,如果我使用getFrom()
将邮件分解为单独的部分,getFrom()
也会显示发件人的姓名。这可能是一个简单的问题,但是如何制作它只会返回电子邮件地址。对不起,如果这是一个简单的问题,但我似乎无法找到答案。
答案 0 :(得分:47)
事实证明,该地址已经为您解析。由于JavaMail愚蠢的额外抽象层,它将InternetAddress
个对象作为Address
超类返回。 Address
个对象几乎没用。您需要将它们强制转换为InternetAddress
,然后只需获取电子邮件部分:
Address[] froms = message.getFrom();
String email = froms == null ? null : ((InternetAddress) froms[0]).getAddress();