2013-03-15 105 views
4

我正在使用java发送电子邮件。我想发送邮件作为bcc和cc选项也在地址中,它怎么可能。我正在使用下面的代码。在使用java发送邮件时在地址中添加cc和bcc

public String sendemail(String xtomail,String xsub,String xbody) 
    { 
    final String username ="[email protected]"; 
    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("[email protected]")); 
        message.setFrom(new InternetAddress(username)); 
     message.setRecipients(Message.RecipientType.TO, 
      //InternetAddress.parse("[email protected]")); 
          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); 

      } 


} 
+4

既然你已经使用'在你的代码Message.RecipientType.TO'做CC和BCC应该是很直观 – rajesh 2013-03-15 06:20:09

+1

message.addRecipients(Message.RecipientType .CC,收件人); //收件人是Address []的一个实例。同样,对于BCC。 – 2013-03-15 06:20:14

回答

16

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

例如:

message.addRecipient(RecipientType.BCC, new InternetAddress(
      "[email protected]")); 
message.addRecipient(RecipientType.CC, new InternetAddress(
      "[email protected]")); 

更多信息:MimeMessage API

+0

请注意,您需要使用Transport.send(MimeMessage)和NOT Transport.send(MimeMessage,Address [])发送,因为后者将覆盖您添加的密件抄送收件人。 – Tom 2016-08-17 06:45:48

相关问题