使用javax.mail向密件抄送收件人发送电子邮件

使用javax.mail向密件抄送收件人发送电子邮件,java,jakarta-mail,Java,Jakarta Mail,我有下面的代码,但我不知道如何将密件抄送收件人添加到sendMessage 有什么想法吗 MimeMessage message = new MimeMessage(mailSession); String today = new SimpleDateFormat("yyyy-MM-dd").format(Calendar .getInstance().getTime()); message.setSubject("T

我有下面的代码,但我不知道如何将密件抄送收件人添加到sendMessage

有什么想法吗

           MimeMessage message = new MimeMessage(mailSession);

      String today = new SimpleDateFormat("yyyy-MM-dd").format(Calendar
              .getInstance().getTime());

      message.setSubject("This is my email for:" + today);
      message.setFrom(new InternetAddress("thesender@gmail.com"));
      String []to = new String []{"therecipient1@gmail.com"};
      String []bcc = new String[]{"therecipient2@gmail.com","therecipient3@gmail.com","therecipient4@gmail.com"};
      message.addRecipient(Message.RecipientType.TO, new InternetAddress(to[0]));
      message.addRecipient(Message.RecipientType.BCC, new InternetAddress(bcc[0]));
      message.addRecipient(Message.RecipientType.BCC, new InternetAddress(bcc[1]));
      message.addRecipient(Message.RecipientType.BCC, new InternetAddress(bcc[2]));
      String body = theBody;
      message.setContent(body,"text/html");
      transport.connect();

        transport.sendMessage(message,message.getRecipients(Message.RecipientType.TO));
        transport.close();

您需要使用以下方法添加多个接收器

public void  addRecipients(Message.RecipientType type, Address[] addresses)
也不是下面的行

transport.sendMessage(message,message.getRecipients(Message.RecipientType.TO));
试试这个

transport.sendMessage(message,message.getAllRecipients());

您需要使用以下方法添加多个接收器

public void  addRecipients(Message.RecipientType type, Address[] addresses)
也不是下面的行

transport.sendMessage(message,message.getRecipients(Message.RecipientType.TO));
试试这个

transport.sendMessage(message,message.getAllRecipients());
String[]to=新字符串[3];
至[0]=”adfsdf@gmail.com";
至[1]=”dffff@gmail.com";
至[2]=”ddddddddddsssssss@outlook.com";
InternetAddress[]toAddress=新的InternetAddress[to.length];
//获取地址数组的步骤
for(int i=0;i
String[]to=新字符串[3];
至[0]=”adfsdf@gmail.com";
至[1]=”dffff@gmail.com";
至[2]=”ddddddddddsssssss@outlook.com";
InternetAddress[]toAddress=新的InternetAddress[to.length];
//获取地址数组的步骤
for(int i=0;i
真的吗?我只是把这四行的addRecipient改成addRecipients,嘿,普雷斯托?然后,在传输.sendMessage时,如何处理message.getRecipients?使用
message.addRecipient(message.RecipientType.BCC,新的InternetAddress(BCC[0])看起来正确。查看源代码,逐个添加地址并没有错。有
setRecipient
会删除以前的地址,但不会
addRecipient
。真的吗?我只是把这四行的addRecipient改成addRecipients,嘿,普雷斯托?然后,在传输.sendMessage时,如何处理message.getRecipients?使用
message.addRecipient(message.RecipientType.BCC,新的InternetAddress(BCC[0])看起来正确。查看源代码,逐个添加地址并没有错。有
setRecipient
将删除以前的地址,但没有
addRecipient
。请不要编辑问题以成为答案。这是令人困惑的,因为答案和问题在stackoverflow上是分开的。只要接受正确的答案(可能还建议对其进行改进)。请不要编辑queston以成为答案。这是令人困惑的,因为答案和问题在stackoverflow上是分开的。只要接受正确的答案(也可能建议改进)。