我正在使用Java开发IMAP应用程序,我只想检索不带名称的电子邮件地址。这是我正在使用的相关代码。

Message[] msg = folder.getMessages();
for (int i = 0; i < msg.length; i++)
{
  if (!msg[i].isSet(Flag.SEEN))
  {
    EmailSenderInfo emailSenderInfo = new EmailSenderInfo();
    String from = InternetAddress.toString(msg[i].getFrom());
  }
}

当我打印变量“from”时,它打印如下内容
name <[email protected]>

如何只获取没有名称的电子邮件地址?

最佳答案

getFrom方法返回一个地址对象数组,该对象实际上是InternetAddress对象。通常,只有一个“发件人”地址,因此您可以使用数组中的第一个元素。然后使用InternetAddress.getAddress方法:

 InternetAddress ia = (InternetAddress)msg[i].getFrom()[0];
 String from = ia.getAddress();

10-07 20:31