java身份验证发送邮件

                   private Properties mailP = null;

                  public static final String EMAIL_CONTENT_TYPE_TEXT = "text";
                  public static final String EMAIL_CONTENT_TYPE_HTML = "html";
                  public static final String EMAIL_CONTENT_TYPE_PDF = "pdf";

try {          

              

    Authenticator authenticator=new Authenticator() {
    @Override

    protected PasswordAuthentication getPasswordAuthentication() {

                                                    //身份验证address(发送人邮箱地址)mailPwd(密码)

    return  new  PasswordAuthentication(adressMail, mailPwd);
    }

    };

                  smtp(simple mail transfer protocol 简单邮箱协议)邮箱身份自动验证

             mailP.put("mail.smtp.auth","true");

                   //进行身份验证

    Session session=Session.getDefaultInstance(mailP, authenticator);
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(adressMail));
InternetAddress[] address = InternetAddress.parse(to);
MimeMultipart multi = new MimeMultipart();

BodyPart textBodyPart = new MimeBodyPart();

                   / 添加邮件附件
for (File file : attachments) {
BodyPart attachmentBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(file);
attachmentBodyPart.setDataHandler(new DataHandler(source));
attachmentBodyPart.setFileName(MimeUtility.encodeWord(file
.getName()));
multipart.addBodyPart(attachmentBodyPart);
}

                      // 选择发送内容的格式

if (type.equalsIgnoreCase(EMAIL_CONTENT_TYPE_HTML)) {
textBodyPart.setContent(content, "text/html;charset=\"utf-8\"");
} else if (type.equalsIgnoreCase(EMAIL_CONTENT_TYPE_TEXT)) {
textBodyPart.setText(content);
} else if (type.equalsIgnoreCase(EMAIL_CONTENT_TYPE_PDF)) {
addAttachment(multi, content);
textBodyPart.setText("");
}

multi.addBodyPart(textBodyPart);

                        //添加发送地址(注意:多个发送邮箱,邮箱地址逗号隔开)

msg.setRecipients(Message.RecipientType.TO, address);

                     //cc(抄送人)判断是否有抄送人

if (cc != null && !"".equals(cc.trim())) {
msg.setRecipients(Message.RecipientType.CC, cc);
}
msg.setSubject(title);

msg.setContent(multi);

                       //开始发送

Transport.send(msg);
Log.log("Mail send Success!");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值