以下是通过xml文件进行的监控路径、文件以及邮件信息的配置,读取xml文件使用的是三方jar包:dom4j

收发邮件采用的是最普通的javamail,需要两个jar包,mail.jar和activition.jar

关键代码如下:

public boolean sendHtmlMail(MailSenderInfo mailInfo){
// 判断是否需要身份认证
MyAuthenticator authenticator = null;
Properties pro = mailInfo.getProperties();
//如果需要身份认证,则创建一个密码验证器
if (mailInfo.isValidate()) {
authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());
}
// 根据邮件会话属性和密码验证器构造一个发送邮件的session
Session sendMailSession = Session.getDefaultInstance(pro,authenticator);
sendMailSession.setDebug(true);
sendMailSession.setDebugOut(System.out);
try {
// 根据session创建一个邮件消息
Message mailMessage = new MimeMessage(sendMailSession);
// 创建邮件发送者地址
Address from = new InternetAddress(mailInfo.getFromAddress());
// 设置邮件消息的发送者
mailMessage.setFrom(from);
// 创建邮件的接收者地址,并设置到邮件消息中
Address to = new InternetAddress(mailInfo.getToAddress());
// Message.RecipientType.TO属性表示接收者的类型为TO
mailMessage.setRecipient(Message.RecipientType.TO,to);
// 设置邮件消息的主题
mailMessage.setSubject(mailInfo.getSubject());
// 设置邮件消息发送的时间
mailMessage.setSentDate(new Date());
// MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象
Multipart mainPart = new MimeMultipart();
// 创建一个包含HTML内容的MimeBodyPart
BodyPart html = new MimeBodyPart();
// 设置HTML内容
html.setContent(mailInfo.getContent(), "text/html; charset=utf-8");
mainPart.addBodyPart(html);
// 将MiniMultipart对象设置为邮件内容
mailMessage.setContent(mainPart);
// 发送邮件
Transport.send(mailMessage);
return true;
} catch (MessagingException ex) {
ex.printStackTrace();
}
return false;
}

这边还想说的一点是,mb,kb和字节之间的转换,获取文件长度(file.length)之后得到的是long型的字节数,1mb=1024kb,1kb=1024b,最好用这样的写法:

BigDecimal megabyte = new BigDecimal(1024 * 1024);
float returnValue = filesize.divide(megabyte, 2, BigDecimal.ROUND_UP) .floatValue();

精度更准确!

关于打成jar包和定时运行的办法:

由于用到了三个额外的jar包,所有打包方法如下:

第一步:

第二步:

第三步:选择自己的工程,存放路径,选择加入jar包,完成

注意:

打好的jar包一般没有入口程序,需自行设置,这边不多赘述

定时运行需要用到系统自带的计划任务:

这边有个创建基本任务和创建任务,选择创建任务。这里说一下两个的区别,创建任务是自定义的任务,可以循环执行,也可以执行完就结束。基本任务是系统启动时一起执行的任务,只有当系统关闭时才会销毁。

这边创建任务也不多赘述了,比较简单,需要注意的是:jar包不可直接运行,需要利用bat文件通过    jar -jar 包名 参数【参数。。】的方式执行,所以任务里面的操作执行的是bat文件而不是jar包

最新文章

  1. java中静态方法和静态类的学习
  2. Android 2D Graphics学习 Region和Canvas裁剪
  3. sea.js 入门
  4. Sql Server中不常用的表运算符之APPLY(2)
  5. 炉石传说 C# 开发笔记(BS模式Demo)
  6. lua日期与时间操作
  7. 转:PHP--获取响应头(Response Header)方法
  8. python实现curl功能
  9. [moka收藏]php正则表达式验证
  10. .NET Entity Framework入门简介及简单操作
  11. ni
  12. javascript 小计
  13. linux监控脚本
  14. js获取随机颜色
  15. Spring Boot 系列教程6-全局异常处理
  16. PHP的CI框架流程基本熟悉
  17. C++_day06_运算符重载_智能指针
  18. python opencv SIFT,获取特征点的坐标位置
  19. C#种将String类型转换成int型
  20. underscore.js源码研究(3)

热门文章

  1. .NET 在信创常用软件适配清单之中?
  2. MySQL DDL详情揭露
  3. Linux后台执行命令:&和nohup nohup和&后台运行,进程查看及终止
  4. Docker Swarm(十一)生产环境使用的一些建议
  5. 034.Python的__str__,__repr__,__bool__ ,__add__和__len__魔术方法
  6. IT菜鸟之交换机基础配置
  7. 国外DIY网站
  8. Servlet中的过滤器和监听器
  9. go输出九九乘法表和金字塔
  10. HTML中option的单页调用