`
yeshaoting
  • 浏览: 684417 次
  • 性别: 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上百实例源码以及开源项目源代码

    Java编写的山寨QQ,多人聊天+用户在线 21个目标文件 摘要:JAVA源码,媒体网络,山寨QQ,Java聊天程序 Java编写的山寨QQ,多人聊天+用户在线,程序分服务端和客户端,典型C/S结构, 当用户发送第一次请求的时候,验证...

    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. **权限和安全**:确保插件的安全性至关...

Global site tag (gtag.js) - Google Analytics