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

标签 java jakarta-mail

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

最佳答案

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

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

关于java - 在 JavaMail 中使用 message.getFrom() 时仅获取要显示的电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5214372/

相关文章:

java - Android中两个并发的AsyncTasks-如何处理竞争条件?

java - 使用 IMAP(javamail API)从 gmail 访问电子邮件

java - 无法删除域 .co.jp 类型的电子邮件

java - 合并不会在 JPA 中更新

java - 如何从 java android 中的 Playstore 应用程序检索所需信息?

Java - Selenium WebDriver - 当条件似乎已满足时不执行 IF/ELSE 语句

java - 首次使用温度转换器的方法

java - 如何摆脱 'Failed to load IMAP envelope' 消息传递异常?

java - TestNG 电子邮件报告 - PKIX 路径构建异常

java - 如何使用java邮件API通过pop3读取outlook收件箱的子文件夹?