java邮件开发-----发送HTML邮件

参考书籍《张孝详java邮件开发详解》

import java.util.Date;

import java.util.Properties;

import javax.activation.DataHandler;

import javax.activation.FileDataSource;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.Service;

import javax.mail.Session;

import javax.mail.internet.AddressException;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeBodyPart;

import javax.mail.internet.MimeMessage;

import javax.mail.internet.MimeMultipart;

import javax.mail.Transport;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

public class HtmlMessageSender {

String protocol = "smtp";

String from = "[email protected]";

String to = "[email protected]";

String subject = "HTML测试";

String body = "

欢迎大家订阅此邮件

" + "";

public static void main(String[] args) throws Exception {

String server = "smtp.sina.com"; //新浪smtp接受服务器

String user = "xxxxxxxxxx";  //不需要写@sina.com

String pass = "用授权码替代密码";

HtmlMessageSender sender = new HtmlMessageSender();

Session session = sender.createSession();

MimeMessage message = sender.createMessage(session);

//获得Transport对象,并连接邮件服务器发送邮件

Transport transport = session.getTransport();  //导入包时不要导错了javax.mail.Transport;

transport.connect(server, user, pass);

transport.sendMessage(message,

message.getRecipients(Message.RecipientType.TO));

transport.close();

}

public Session createSession() {

Properties props = new Properties();

props.setProperty("mail.transport.protocol", protocol);

/* 必须将mail.smtp.auth属性设置为true,SMTPTransport对象才会向SMTP

* 服务器提交用户认证信息,这个信息可以从JavaMail的javadocs文档

* 中的com.su.mail.smtp包的帮助页面内查看到

*/

props.setProperty("mail.smtp.auth", "true");

Session session = Session.getInstance(props);

session.setDebug(true);

return session;

}

public MimeMessage createMessage(Session session) throws Exception {

MimeMessage message = new MimeMessage(session);

message.setFrom(new InternetAddress(from));

message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));

message.setSubject(subject);

MimeMultipart multipart = new MimeMultipart("related");

MimeBodyPart htmlBodyPart = new MimeBodyPart();

htmlBodyPart.setContent(body,"text/html;charset=gb2312");

multipart.addBodyPart(htmlBodyPart);

MimeBodyPart gifBodyPart = new MimeBodyPart();

FileDataSource fds = new FileDataSource("F:\\个人资料\\xxxx.jpg");

gifBodyPart.setDataHandler(new DataHandler(fds));

gifBodyPart.setContentID("test_img");

multipart.addBodyPart(gifBodyPart);

message.setContent(multipart);

message.saveChanges();

return message;

}

}

你可能感兴趣的:(java邮件开发-----发送HTML邮件)