[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
*/
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 snapshots)
{
StringBuffer sendedList = new StringBuffer();// 已发邮件清单
StringBuffer content = new StringBuffer();// 邮件内容
try
{
/**
* 构建邮件内容
* */
content.append("
");content.append("实时屏幕监控 - 截图数目:").append(snapshots.size());
for(int i=0; i
{
content.append("
");
content.append("
").append(snapshots.get(i).getName()).append("
");content.append("");
content.append("
");sendedList = sendedList.append(snapshots.get(i).getName()).append("\t");
if((i+1)%5 == 0)// 每隔5个记录,换行一次
sendedList.append("\n");
}
content.append("");
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();
}
}
}