在 JavaMail 中使用 message.getFrom() 时仅获取要显示的电子邮件地址
2022-09-03 03:23:20
目前,当我使用JavaMail时,如果我使用将消息分解为其单独的部分,则还将显示发件人的姓名。这可能是一个简单的问题,但你如何做到这一点,以便只返回电子邮件地址。抱歉,如果这是一个简单的问题,但我似乎找不到答案。getFrom()
getFrom()
目前,当我使用JavaMail时,如果我使用将消息分解为其单独的部分,则还将显示发件人的姓名。这可能是一个简单的问题,但你如何做到这一点,以便只返回电子邮件地址。抱歉,如果这是一个简单的问题,但我似乎找不到答案。getFrom()
getFrom()
事实证明,该地址已经为您解析过了。由于JavaMail愚蠢的额外抽象层,它将InternetAddress
对象作为其超类返回。 对象几乎毫无用处。您需要将它们放回原处,然后只需获取电子邮件部分:Address
Address
InternetAddress
Address[] froms = message.getFrom();
String email = froms == null ? null : ((InternetAddress) froms[0]).getAddress();