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

时间:2011-03-06 23:53:20

标签: java javamail

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

1 个答案:

答案 0 :(得分:47)

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

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