用JavaMail发邮件十分简单。
先设properties--->session--->message创建--->transport去连接和发送。
主要麻烦的还是昨天讲的如何创建
- public class ComplexMessage {
- String protocal = "smtp";
- public Session createSession() {
- Properties props = new Properties();
- props.setProperty("mail.transport.protocol", protocal);
- props.setProperty("mail.smtp.auth", "true");
- Session session = Session.getInstance(props);
- session.setDebug(true);
- return session;
- }
- public static MimeMessage createMessage(Session session) throws Exception {
- String from = "abc@sina.com";
- String to = "123@hotmail.com";
- String subject = "hello world";
- String body = "<a href=http://blog.youkuaiyun.com/terryzero/>"
- + "欢迎大家光临我的blog</a></br>" + "<img src=/"cid:google/">";
- MimeMessage message = new MimeMessage(session);
- message.setFrom(new InternetAddress(from));
- message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
- message.setSubject(subject);
- MimeBodyPart contentPart = createContent(body, "E://MyTemplate//resourse//google.jpg");
- MimeBodyPart attachPart1 = createAttachmet("E://MyTemplate//resourse//google.jpg");
- MimeBodyPart attachPart2 = createAttachmet("E://MyTemplate//resourse//google.jpg");
- MimeMultipart allMultipart = new MimeMultipart("mixed");
- allMultipart.addBodyPart(contentPart);
- allMultipart.addBodyPart(attachPart1);
- allMultipart.addBodyPart(attachPart2);
- message.setContent(allMultipart);
- message.saveChanges();
- return message;
- }
- public static MimeBodyPart createContent(String body, String filename) throws Exception {
- MimeBodyPart contentPart = new MimeBodyPart();
- MimeMultipart contentMultipart = new MimeMultipart("related");
- MimeBodyPart htmlBodyPart = new MimeBodyPart();//文本
- htmlBodyPart.setContent(body, "text/html;charset=gb2312");
- contentMultipart.addBodyPart(htmlBodyPart);
- MimeBodyPart gifBodyPart = new MimeBodyPart(); //图片
- FileDataSource fds = new FileDataSource(filename);
- gifBodyPart.setDataHandler(new DataHandler(fds));
- gifBodyPart.setContentID("google");
- contentMultipart.addBodyPart(gifBodyPart);
- contentPart.setContent(contentMultipart);
- return contentPart;
- }
- public static MimeBodyPart createAttachmet(String filename) throws Exception {
- MimeBodyPart attachPart = new MimeBodyPart();//附件
- FileDataSource fds = new FileDataSource(filename);
- attachPart.setDataHandler(new DataHandler(fds));
- attachPart.setFileName(fds.getName());
- return attachPart;
- }
- public static void main(String[] args) {
- String server = "smtp.sina.com.cn";
- String user = "abc";
- String pass = "123456";
- try {
- ComplexMessage cm = new ComplexMessage();
- Session session = cm.createSession();
- MimeMessage message = createMessage(session);
- //message.writeTo(new FileOutputStream("E://MyTemplate//resourse//ComplexMessage.eml"));
- Transport transport = session.getTransport();
- transport.connect(server, user, pass);
- transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
- transport.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
这代码能说明一切,我就不多少说废话了。