10

我正在使用 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);

            }


}
4

1 回答 1

30

您使用 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

于 2013-03-15T08:56:36.280 回答