需依赖第三方jar包
javamail项目源码←点击
这里下载
方法实现
public boolean sendMail() {
// 构造mail session
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props,
new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
// 构造MimeMessage并设定基本的值,创建消息对象
MimeMessage msg = new MimeMessage(session);
// 设置消息内容
msg.setFrom(new InternetAddress(from));
//System.out.println(from);
// 把邮件地址映射到Internet地址上
InternetAddress[] address = { new InternetAddress(to) };
/**
* setRecipient(Message.RecipientType type, Address
* address),用于设置邮件的接收者。<br>
* 有两个参数,第一个参数是接收者的类型,第二个参数是接收者。<br>
* 接收者类型可以是Message.RecipientType .TO,Message
* .RecipientType.CC和Message.RecipientType.BCC,TO表示主要接收人,CC表示抄送人
* ,BCC表示秘密抄送人。接收者与发送者一样,通常使用InternetAddress的对象。
*/
msg.setRecipients(Message.RecipientType.TO, address);
if(cc!=null && !cc.equals("")) {
cc = cc.replaceAll(";",",");
InternetAddress[] caddress = new InternetAddress().parse(cc);
msg.addRecipients(Message.RecipientType.CC, caddress);
}
// 设置邮件的标题
//subject = transferChinese(subject);
msg.setSubject(subject);
// 构造Multipart
Multipart mp = new MimeMultipart();
// 向Multipart添加正文
MimeBodyPart mbpContent = new MimeBodyPart();
// 设置邮件内容(纯文本格式)
// mbpContent.setText(content);
// 设置邮件内容(HTML格式)
mbpContent.setContent(content, "text/html;charset=utf-8");
// 向MimeMessage添加(Multipart代表正文)
mp.addBodyPart(mbpContent);
if(filename!=""){
//调用生成附件方法
MimeBodyPart attachment01 = createAttachment(filename);
mp.addBodyPart(attachment01);
}
// 向Multipart添加MimeMessage
msg.setContent(mp);
// 设置邮件发送的时间。
msg.setSentDate(new Date());
// 发送邮件
Transport.send(msg);
} catch (Exception e) {
logger.warn(e.getMessage());
e.printStackTrace();
return false;
}
return true;
}