在 Java 中向多个收件人发送邮件

新手上路,请多包涵

我想使用以下方法向多个收件人发送消息:

 message.addRecipient(Message.RecipientType.TO, String arg1);

或者

message.setRecipients(Message.RecipientType.TO,String arg1);

但一个困惑是,在第二个参数中,如何传递多个地址,例如:

 message.addRecipient(Message.RecipientType.CC, "abc@abc.example,abc@def.example,ghi@abc.example");

message.addRecipient(Message.RecipientType.CC, “abc@abc.example;abc@def.example;ghi@abc.example”);

我也可以使用其他方法发送消息,但我想知道上述方法的目的。

如果我不能使用它(直到现在我还没有得到上述要求的任何答案)那么这个方法需要在邮件 API 中。

原文由 Prateek 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
1 个回答

如果您调用 addRecipient 多次,它会将给定的收件人添加到给定时间的收件人列表(TO、 CCBCC )。

例如:

 message.addRecipient(Message.RecipientType.CC, InternetAddress.parse("abc@abc.example"));
message.addRecipient(Message.RecipientType.CC, InternetAddress.parse("abc@def.example"));
message.addRecipient(Message.RecipientType.CC, InternetAddress.parse("ghi@abc.example"));

它将这三个地址添加到 CC。


如果您希望一次添加所有地址,您应该使用 setRecipientsaddRecipients 并为其提供一个地址数组

Address[] cc = new Address[] {InternetAddress.parse("abc@abc.example"),
                               InternetAddress.parse("abc@def.example"),
                               InternetAddress.parse("ghi@abc.example")};
message.addRecipients(Message.RecipientType.CC, cc);


您还可以使用 InternetAddress.parse 来解析地址列表:

 message.addRecipients(Message.RecipientType.CC,
                      InternetAddress.parse("abc@abc.example,abc@def.example,ghi@abc.example"));

原文由 Aviram Segal 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题