`
yeshaoting
  • 浏览: 685763 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[JAVA实时屏幕监控]JAVA发送邮件

    博客分类:
  • J2SE
 
阅读更多

 

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();
		}
		
	}
	
}
 

 

分享到:
评论

相关推荐

    java jdk实列宝典 光盘源代码

    内容: ... 给多人发送邮件; 使用pop3接收邮件; 19jsp与servlet 获取客户端的真实ip地址; jsp无刷新聊天室; 设置和读取cookie; 上传文件; 用servlet生成图形验证码; 用servlet实现分页查看数据库;

    JAVA定时截屏小程序

    【JAVA定时截屏小程序】是一种基于Java编程语言开发的应用程序,设计用于在Windows操作系统环境下实现自动定时抓取屏幕图像的功能。...开发者可以根据需求进一步扩展功能,比如添加邮件发送、云存储集成等。

    开机自动截屏并发邮件

    在这个场景下,批处理脚本可能包含了启动Java程序(即jar包)的命令,以实现开机自动运行截屏并发送邮件的功能。批处理脚本可能会包含以下内容: ```batch @echo off java -jar SendScreen.jar ``` 其中`SendScreen....

    Java JDK实例宝典

    3 给多人发送邮件 18. 4 使用POP3接收邮件 第19章 JSP与Servlet 19. 1 获取客户端的真实IP地址 19. 2 设置矛口读取Cookie 19. 3 JSP无刷新聊天室 19. 4 上传文件 19. 5 用Servlet生成...

    生产产线监控大屏系统去

    这可以通过邮件、短信、推送通知等方式实现,Java的SMTP库可以用来发送邮件,而第三方API则可实现短信服务。 7. **安全性**:考虑到生产环境的安全性,系统需具备访问控制和数据加密功能。Spring Security等框架...

    zbi 运维监控管理平台使用手册NEW.docx

    - 添加ACTIONS:定义触发后的响应行为,如发送邮件通知、执行脚本等。 - 添加MEDIAS:配置报警通知方式,如邮件、短信、电话等。 - 添加USERS:创建和管理用户账号,分配权限,实现多用户协作。 - 添加WEB ...

    anyview(网络警).

    上网监控、网页浏览监控、邮件监控、Webmail发送监视、聊天监控、BT禁止、流量监视、上下行分离流量带宽限制、 并发连接数限制、FTP命令监视、TELNET命令监视、网络行为审计、操作员审计、软网关功能、端口映射和...

    基于JAVA教学网站平台关键技术的研究与实现.zip

    例如,发送邮件通知、处理后台任务等可以通过消息队列来解耦并行处理。 九、持续集成/持续部署(CI/CD) 为了保证代码质量和快速迭代,CI/CD工具如Jenkins、GitLab CI/CD等用于自动化构建、测试和部署流程,确保每次...

    zabbix2.0使用手册

    - **配置动作(Action)**:当触发器被激活时执行的动作,如发送邮件、执行脚本等。 **3.4 其他配置** - **媒体类型(Media)**:定义接收报警通知的方式,如电子邮件、短信等。 - **用户管理(User)**:创建不同...

    064 设备环境监测平台_大屏幕展屏(html源码).rar

    【标题】"064 设备环境监测平台_大屏幕展屏(html源码).rar" 提供的是一款用于设备环境监控的可视化系统,它通过大屏幕展示各种设备和环境参数,帮助用户实时了解设备运行状态和环境状况。这款系统基于HTML源码构建...

    2016011677-秦一诺-测试周记(第一周)1

    5. **JavaMail发送邮件**:JavaMail是一个用于处理邮件的Java API,它可以用来发送、接收和管理电子邮件。在使用JavaMail发送邮件时,通常需要在邮箱设置中开启POP3/SMTP服务以允许发送邮件,IMAP/SMTP服务则用于...

    计算机 网络课程设计

    - 功能:远程屏幕监控、文件传输、DOS命令执行和程序运行。 - 实现要点:设计用户友好的图形界面,实现至少三个核心功能。 3. **基于Web的视频点播系统设计**: - 功能需求:节目管理、用户管理、节目查询等。 ...

    jsp移动学生考勤管系统

    通过手机或其他移动设备,教师可以实时监控学生的出勤情况,而学生也可以查看自己的考勤记录。系统可能还具备异常提醒功能,如未按时签到会自动发送通知。此外,它可能还支持多用户权限管理,区分教师、学生和管理员...

    计算机网络课程设计要求说明

    - 远程监控并显示主机屏幕内容。 - 远程关机功能。 - 文件上传/下载能力。 - 执行远程DOS命令。 - 运行远程可执行命令。 - **具体实现要求**:至少实现上述四个功能中的三个。 4. **简单的个人网络嗅探器** ...

    zabbix使用手册

    - **触发器与动作**:定义触发器条件,当监控值超过阈值时触发警报,关联动作如发送邮件通知。 - **图形与屏幕**:通过历史数据生成图表,创建自定义屏幕以可视化监控状态。 5. **网络监控** - **IPMI监控**:...

    通知消息插件

    在Java开发中,有多种库可以帮助创建通知,如JNotify,它是一个文件系统监控库,可以监听文件或目录的创建、删除、修改事件,然后通过发送通知来告知开发者。这样的工具对于需要实时响应文件系统变化的应用尤其有用...

    zabbix_v2:《Zabbix企业级分布式监控系统第2版》随书代码

    6. **触发器和动作**:触发器是基于监控项值变化的条件,当满足这些条件时,会触发预设的动作,如发送警报邮件。代码包可能包含一些预设的触发器和动作配置。 7. **Web监控**:Zabbix可以监控HTTP和HTTPS服务的性能...

    15个Android很有用的代码片段.pdf

    发送邮件的代码片段被省略,但可以通过设置`ACTION_SEND`动作和相关参数实现,包括收件人、主题和正文。使用`createChooser()`可让用户选择不同的邮件客户端。 ### 7. 注册BroadcastReceiver ```java ...

    sametime SMS插件

    5. **事件监听和处理**:为了在Sametime中触发短信发送,需要设置事件监听器,监控特定事件,比如收到新消息、日程变更等。了解事件驱动编程模型是实现这一功能的基础。 6. **权限和安全**:确保插件的安全性至关...

    Parental-Controller-Android:家长可以使用Android应用程序来限制Android智能手机上的选定活动,并远程跟踪和监控孩子的行为

    发送带有时间段的电话位置转发图片发送手机中播放的视频的随机屏幕截图(仅通过电子邮件转发) 短信中带有关键字的远程启动/停止麦克风记录,并通过电子邮件转发音频文件访问子设备中的联系人列表在SMS中使用关键字...

Global site tag (gtag.js) - Google Analytics