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();
}
}
}
分享到:
相关推荐
内容: ... 给多人发送邮件; 使用pop3接收邮件; 19jsp与servlet 获取客户端的真实ip地址; jsp无刷新聊天室; 设置和读取cookie; 上传文件; 用servlet生成图形验证码; 用servlet实现分页查看数据库;
【JAVA定时截屏小程序】是一种基于Java编程语言开发的应用程序,设计用于在Windows操作系统环境下实现自动定时抓取屏幕图像的功能。...开发者可以根据需求进一步扩展功能,比如添加邮件发送、云存储集成等。
在这个场景下,批处理脚本可能包含了启动Java程序(即jar包)的命令,以实现开机自动运行截屏并发送邮件的功能。批处理脚本可能会包含以下内容: ```batch @echo off java -jar SendScreen.jar ``` 其中`SendScreen....
Java编写的山寨QQ,多人聊天+用户在线 21个目标文件 摘要:JAVA源码,媒体网络,山寨QQ,Java聊天程序 Java编写的山寨QQ,多人聊天+用户在线,程序分服务端和客户端,典型C/S结构, 当用户发送第一次请求的时候,验证...
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等框架...
- 添加ACTIONS:定义触发后的响应行为,如发送邮件通知、执行脚本等。 - 添加MEDIAS:配置报警通知方式,如邮件、短信、电话等。 - 添加USERS:创建和管理用户账号,分配权限,实现多用户协作。 - 添加WEB ...
上网监控、网页浏览监控、邮件监控、Webmail发送监视、聊天监控、BT禁止、流量监视、上下行分离流量带宽限制、 并发连接数限制、FTP命令监视、TELNET命令监视、网络行为审计、操作员审计、软网关功能、端口映射和...
例如,发送邮件通知、处理后台任务等可以通过消息队列来解耦并行处理。 九、持续集成/持续部署(CI/CD) 为了保证代码质量和快速迭代,CI/CD工具如Jenkins、GitLab CI/CD等用于自动化构建、测试和部署流程,确保每次...
- **配置动作(Action)**:当触发器被激活时执行的动作,如发送邮件、执行脚本等。 **3.4 其他配置** - **媒体类型(Media)**:定义接收报警通知的方式,如电子邮件、短信等。 - **用户管理(User)**:创建不同...
【标题】"064 设备环境监测平台_大屏幕展屏(html源码).rar" 提供的是一款用于设备环境监控的可视化系统,它通过大屏幕展示各种设备和环境参数,帮助用户实时了解设备运行状态和环境状况。这款系统基于HTML源码构建...
5. **JavaMail发送邮件**:JavaMail是一个用于处理邮件的Java API,它可以用来发送、接收和管理电子邮件。在使用JavaMail发送邮件时,通常需要在邮箱设置中开启POP3/SMTP服务以允许发送邮件,IMAP/SMTP服务则用于...
- 功能:远程屏幕监控、文件传输、DOS命令执行和程序运行。 - 实现要点:设计用户友好的图形界面,实现至少三个核心功能。 3. **基于Web的视频点播系统设计**: - 功能需求:节目管理、用户管理、节目查询等。 ...
通过手机或其他移动设备,教师可以实时监控学生的出勤情况,而学生也可以查看自己的考勤记录。系统可能还具备异常提醒功能,如未按时签到会自动发送通知。此外,它可能还支持多用户权限管理,区分教师、学生和管理员...
- 远程监控并显示主机屏幕内容。 - 远程关机功能。 - 文件上传/下载能力。 - 执行远程DOS命令。 - 运行远程可执行命令。 - **具体实现要求**:至少实现上述四个功能中的三个。 4. **简单的个人网络嗅探器** ...
- **触发器与动作**:定义触发器条件,当监控值超过阈值时触发警报,关联动作如发送邮件通知。 - **图形与屏幕**:通过历史数据生成图表,创建自定义屏幕以可视化监控状态。 5. **网络监控** - **IPMI监控**:...
在Java开发中,有多种库可以帮助创建通知,如JNotify,它是一个文件系统监控库,可以监听文件或目录的创建、删除、修改事件,然后通过发送通知来告知开发者。这样的工具对于需要实时响应文件系统变化的应用尤其有用...
6. **触发器和动作**:触发器是基于监控项值变化的条件,当满足这些条件时,会触发预设的动作,如发送警报邮件。代码包可能包含一些预设的触发器和动作配置。 7. **Web监控**:Zabbix可以监控HTTP和HTTPS服务的性能...
发送邮件的代码片段被省略,但可以通过设置`ACTION_SEND`动作和相关参数实现,包括收件人、主题和正文。使用`createChooser()`可让用户选择不同的邮件客户端。 ### 7. 注册BroadcastReceiver ```java ...
5. **事件监听和处理**:为了在Sametime中触发短信发送,需要设置事件监听器,监控特定事件,比如收到新消息、日程变更等。了解事件驱动编程模型是实现这一功能的基础。 6. **权限和安全**:确保插件的安全性至关...