67,513
社区成员
发帖
与我相关
我的任务
分享
public boolean sendHtmlMail(String to,String message,String subject,Date date)
{
boolean flag = false;
try {
newMessage = new MimeMessage(sendMailSession);
newMessage.setFrom(new InternetAddress(mail_from,"收件人可看到 谁发的"));//设置发信人
newMessage.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));//设置收信人
//newMessage.setRecipients(Message.RecipientType.CC, InternetAddress.parse(to));//设置抄送
//newMessage.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(to));//设置暗送
sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();//用于处理主题乱码问题
newMessage.setSubject("=?GB2312?B?"+enc.encode(subject.getBytes())+"?="););//设置邮件主题
newMessage.setSentDate(date);//设置邮件发送时间
//创建邮件内容部份
MimeMultipart multipart = new MimeMultipart();
BodyPart messageBodyPart = new MimeBodyPart();
//设置邮件的头编码
messageBodyPart.setContent(message, "text/html;charset=GBK");
messageBodyPart.setHeader("Content-Transfer-Encoding","base64");
messageBodyPart.setHeader("Content-Type","text/html;charset=GBK");
multipart.setSubType("related");
multipart.addBodyPart(messageBodyPart);
newMessage.setContent(multipart);
newMessage.saveChanges();
Transport transport = sendMailSession.getTransport("smtp");
transport.connect(mail_smtp_host, mail_username, mail_password);
transport.sendMessage(newMessage, newMessage.getAllRecipients());
transport.close();
flag = true;
System.out.println(Constants.formatDate(System.currentTimeMillis()) + subject + " 邮件发送"+ to+ " 成功……");
//Transport.send(newMessage);
} catch (AddressException e) {
logger.error("发送email到\""+to+"\"时出错:"+e.getMessage());
e.printStackTrace(System.err);
e.printStackTrace();
} catch (MessagingException e) {
logger.error("发送email到\""+to+"\"时出错:"+e.getMessage());
e.printStackTrace(System.err);
e.printStackTrace();
}catch(Exception ex){
logger.error("发送email到\""+to+"\"时出错:"+ex.getMessage());
ex.printStackTrace(System.err);
ex.printStackTrace();
}
return flag;
}