java实现发送邮件
/** * 发送邮件 可以带有HTML格式 * @param toUser * @param recipients * @param content * @param subject * @throws Exception */
public static void noticePushCommandForHtml(String toUser, List<String> ccList, String content, String subject) throws Exception {
/*if(!emailEnable()){
return;
}*/
JavaMailSenderImpl mailSender = getJavaMailSenderImpl();
final Properties p = System.getProperties() ;
p.setProperty("mail.smtp.host", "smtp.163.com");
p.setProperty("mail.smtp.auth", "true");
p.setProperty("mail.smtp.user", "qiaoyanniqy@163.com");
p.setProperty("mail.smtp.pass", "OFEUZRSVRYCKCRQU");
Session session = Session.getInstance(p, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(p.getProperty("mail.smtp.user"), p.getProperty("mail.smtp.pass"));
}
});
String titleEncode = "gb2312";
Message message = new MimeMessage(session);
Address address = new InternetAddress(p.getProperty("mail.smtp.user"), MimeUtility.encodeText(p.getProperty("mail.smtp.user"), MimeUtility.mimeCharset(titleEncode), null));
message.setFrom(address);
message.setReplyTo(InternetAddress.parse("qiaoyanniqy@163.com"));//发件人
message.setRecipient(Message.RecipientType.TO, new InternetAddress(toUser));//收件人
message.setSubject(subject);
log.info("发送邮件抄送人个数为:"+ccList.size());
String[] temp = new String[ccList.size()];
String[] ccArray = ccList.toArray(temp);
InternetAddress[] addresssCc = new InternetAddress[ccArray.length];
for (int i = 0; i < ccArray.length; i++) {
String cc = ccArray[i];
InternetAddress a = new InternetAddress(cc);
addresssCc[i] = a;
}
//message.setRecipients(Message.RecipientType.CC, addresssCc);
Multipart multipart = new MimeMultipart();
BodyPart html = new MimeBodyPart();
html.setContent(content, "text/html; charset=utf-8");
multipart.addBodyPart(html);
message.setContent(multipart);
Transport.send(message);
}
public static void noticePushCommand(String toUser, String[] recipients, String content, String subject) { if(!emailEnable()){ return; } log.debug("toUser:" + toUser + ",subject:" + subject + ",content:" + content); log.info("发送邮件toUser:" + toUser + ",subject:" + subject + ",content:" + content); JavaMailSenderImpl mailSender = getJavaMailSenderImpl(); SimpleMailMessage message = new SimpleMailMessage();//消息构造器 message.setFrom(fromUser);//发件人 message.setTo(toUser);//收件人 message.setText(content); message.setSubject(subject); List<String> ccList = new ArrayList<>(); if (recipients != null && recipients.length >0){ ccList = new ArrayList(Arrays.asList(recipients)); //工单创建人 } // 设置测试阶段抄送人员 //ccList.add("zhouweixin@cebbank.com"); //ccList.add("zh_wy@cebbank.com"); //ccList.add(createUserEmail); //工单创建人 ccList.add("xiangqiuxu@cebbank.com"); log.info("发送邮件抄送人个数为:"+ccList.size()); recipients = ccList.toArray(new String[0]); if (recipients != null && recipients.length > 0) { message.setCc(recipients); //抄送人 } mailSender.send(message); }