【问题标题】:add cc and bcc in the address while sending the mail using java使用java发送邮件时在地址中添加cc和bcc
【发布时间】:2013-03-15 16:56:36
【问题描述】:

我正在使用 java 发送电子邮件。我想在地址中以密件抄送和抄送选项的形式发送邮件,这怎么可能。我正在使用以下代码。

   public String sendemail(String xtomail,String xsub,String xbody)
    {
   final String username ="adeshsingh86@gmail.com";
    final String password ="passwordhere";


    Properties props = new Properties();
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.smtp.host", "smtp.gmail.com");
    props.put("mail.smtp.port", "587");

    Session session = Session.getInstance(props,
      new javax.mail.Authenticator() {
        protected javax.mail.PasswordAuthentication getPasswordAuthentication() {
            return new javax.mail.PasswordAuthentication(username, password);
        }
      });

    try {

        Message message = new MimeMessage(session);
        //message.setFrom(new InternetAddress("adeshsingh86@gmail.com"));
                    message.setFrom(new InternetAddress(username));
        message.setRecipients(Message.RecipientType.TO,
            //InternetAddress.parse("kmukesh2008@gmail.com"));
                            InternetAddress.parse(xtomail));
        //message.setSubject("Testing Subject");
                    message.setSubject(xsub);
 // message.setText("Dear Mail Crawler,"
//          + "\n\n No spam to my email, please!");

                        message.setText(xbody);

        Transport.send(message);

        return "Y";

    } catch (MessagingException e) {
                return "N";
        //throw new RuntimeException(e);

            }


}

【问题讨论】:

  • 因为您已经在代码中使用Message.RecipientType.TO,所以 CC 和 BCC 应该很直观
  • message.addRecipients(Message.RecipientType.CC, 收件人); // 其中收件人是地址[] 的一个实例。同样,对于密件抄送。

标签: java email


【解决方案1】:

您使用 setter 方法设置收件人。看看你是如何添加它的,你会看到你添加了一个 Message.RecipientType.TO。 CC 和 BCC 也可以这样做。你也可以使用 addRecipient 方法。

例如:

message.addRecipient(RecipientType.BCC, new InternetAddress(
            "your@email.com"));
message.addRecipient(RecipientType.CC, new InternetAddress(
            "yourOther@email.com"));

更多信息:MimeMessage API

【讨论】:

  • 请注意,您需要使用 Transport.send(MimeMessage) 而不是 Transport.send(MimeMessage, Address[]) 发送,因为后者会覆盖您添加的密件抄送收件人。
猜你喜欢
  • 1970-01-01
  • 2012-04-23
  • 1970-01-01
  • 2013-10-11
  • 1970-01-01
  • 2021-06-23
  • 2010-12-05
相关资源
最近更新 更多