[JAVA实时屏幕监控]JAVA发送邮件
?
JAVA发送邮件
?
描述:利用commons-email-1.2和javamail-1.4.4类库。
?
?
/** * Copyright (c) 2011 Trusted Software and Mobile Computing(TSMC) * All right reserved. * * Created on Nov 1, 2011 8:12:42 PM * http://jarg.iteye.com/ * Author: Jarg Yee <yeshaoting@gmail.com> */package com.iteye.jarg.monitor.util;import java.io.File;import java.util.List;import org.apache.commons.mail.EmailException;import org.apache.commons.mail.HtmlEmail;import com.iteye.jarg.monitor.base.Config;/** * TODO 邮件工具类 */public class MailUtil{/** 邮件句柄 */private static HtmlEmail email = null;/** * 初始化邮件工具类 * @throws EmailException * */public static void initMail(){/** 邮件句柄 */email = new HtmlEmail();email.setHostName(Config.aHostName);email.setTLS(Config.withTLS);email.setSslSmtpPort(Config.sslSmtpPort); // 设定SSL端口email.setAuthentication(Config.SENDER, Config.PASSWORD); // 用户名和密码////////////////////////////////////////////////////////////////////////////try{email.addTo(Config.RECEIVER);// 接收方email.setFrom(Config.SENDER);// 发送方}catch (EmailException e){//e.printStackTrace();System.out.println("ERROR:添加接收方或发送方失败.");}email.setCharset(Config.CHARSET);}/** * 发送带图片的网页邮件 * 邮件发送send()是一个线程,未发送成功,会一直停留在当前语句,直到发送失败. * * 每次调用此函数发邮件之前,都需要调用initMail()方法,建立连接. * */public static void sendSnapshots(List<File> snapshots){StringBuffer sendedList = new StringBuffer();// 已发邮件清单StringBuffer content = new StringBuffer();// 邮件内容try{/** * 构建邮件内容 * */content.append("<html><body>");content.append("实时屏幕监控 - 截图数目:").append(snapshots.size());for(int i=0; i<snapshots.size(); i++){content.append("<p style='margin-top:20px;'>");content.append("<h3>").append(snapshots.get(i).getName()).append("</h3>");content.append("<img src=cid:").append(email.embed(snapshots.get(i))).append(">");content.append("</p>");sendedList = sendedList.append(snapshots.get(i).getName()).append("\t");if((i+1)%5 == 0)// 每隔5个记录,换行一次sendedList.append("\n");}content.append("</body></html>");email.setSubject(Config.SUBJECT + Config.fromString + " At " + DateUtil.getNowDateTimeString()); // 设置主题email.setHtmlMsg(content.toString());// 设置html邮件内容email.send();// 发送失败会报EmailException错误System.out.println("*********** 成功发送邮件 ***********");System.out.println(sendedList.toString());}catch (EmailException e){System.out.println("ERROR:邮件发送失败.");e.printStackTrace();}}}??