需求来源

某一天Hutool群中有美女(也可能是抠脚大汉)抱怨领导,说让ta每天写工作日报,说明今天做了哪些工作,每周还有周报。美女遇到问题嘛,本着能聊则聊,能帮则帮的原则,于是使用Hutool写了一个Demo。

使用到的模块和工具类

  1. cron模块,用于定时发送邮件
  2. extra模块,MailUtil,用于发送邮件
  3. poi模块,WordWriter,用于生成日报的word

Demo介绍

Demo项目可以访问码云地址获取:https://gitee.com/loolly_admin/daily-work

项目结构

src/main/javacn/hutool/example/dailyWork/DailyWorkGenerator.java ---- 日报生成器,用于生成Word文档MailSendTask.java       ---- 邮件发送任务,用于发送邮件DailyWorkMain.java      ---- 定时任务主程序,用于启动定时任务src/main/resourcesconfig/cron.setting            ---- 定时任务配置文件mail.setting            ---- 邮箱配置文件

代码实现

  1. 生成日报Word
/** 标题字体 */
private static final Font TITLE_FONT = new Font("黑体", Font.PLAIN, 22);
/** 正文字体 */
private static final Font MAIN_FONT = new Font("宋体", Font.PLAIN, 14);/*** 生成日报* * @return 日报word文件*/
public static File generate() {// 1、准备文件File wordFile = FileUtil.file(StrUtil.format("每日工作汇报_{}.docx", DateUtil.today()));if(FileUtil.exist(wordFile)) {// 如果文件存在,删除之(可能上次发送遗留)wordFile.delete();}// 生成并写出wordWord07Writer writer = new Word07Writer(wordFile);writer.addText(ParagraphAlignment.CENTER, TITLE_FONT, "工作日报");writer.addText(MAIN_FONT, "");writer.addText(MAIN_FONT, "尊敬的领导:");writer.addText(MAIN_FONT, "    今天我在Hutool群里摸鱼,什么工作也没做。");writer.close();return wordFile;
}
  1. 发送邮件

在mail.setting中配置发件箱信息

# 发件人(必须正确,否则发送失败)
from = Hutool<hutool@yeah.net>
# 用户名(注意:如果使用foxmail邮箱,此处user为qq号)
user = hutool
# 密码
pass = XXXX#使用 STARTTLS安全连接
startttlsEnable = true
#使用 SSL安全连接
sslEnable = true
// 今天的日期,格式类似:2019-06-20
String today = DateUtil.today();// 生成汇报Word
File dailyWorkDoc = DailyWorkGenerator.generate();
// 发送邮件
MailUtil.sendHtml("hutool@foxmail.com", StrUtil.format("{} 工作日报", today), "请见附件。", dailyWorkDoc);StaticLog.debug("{} 工作日报已发送给领导!", today);
  1. 定时发送

我们将刚才的发送邮件作为定时任务加入到配置文件:

[cn.hutool.example.dailyWork]
# 每天下午6点定时发送
MailSendTask.execute = 00 00 18 * * *
  1. 启动定时任务
// 设置秒匹配(只有在定时任务精确到秒的时候使用)
CronUtil.setMatchSecond(true);
// 启动定时任务,自动加载配置文件中的内容
CronUtil.start();

效果:

转载于:https://my.oschina.net/looly/blog/3064203

使用Hutool发送工作日报相关推荐

  1. 我的工作日报 - 2020-9-16 星期三

    现在加入了新的团队,每天都要写工作日报了. yesterday I was doing exercises about routing topic using routerLink in a tag, ...

  2. 我的工作日报 - 2020-9-15 星期二

    现在加入了新的团队,每天都要写工作日报了. I am studying Observable stream in rxjs today, and do exercise regarding custo ...

  3. 我的工作日报 - 2020-9-11 星期五

    现在加入了新的团队,每天都要写工作日报了. I am learning Angular dependency injection mechanism today, I create my own pr ...

  4. jsp日报系统+mysql_工作日报系统软件(运行web程序+说明) 日报管理系统 - 下载 - 搜珍网...

    文件名大小更新时间 工作日报系统软件(运行web程序+说明)\工作日报系统软件\ribao\app\add.html29272015-01-16 工作日报系统软件(运行web程序+说明)\工作日报系统 ...

  5. 用 Python 写脚本发送工作周报

    事情的起因是这样的,每周都要发送工作周报,标题是需要的固定的格式(方便规则收信),比如 [工作周报] xxx 11.20-11.24,发送和抄送也是给固定的人,企业邮箱还没有模板,所以每次发邮件都要复 ...

  6. eDiary-白日梦电子记事本基本使用说明【记事本导出和导入方法、本地数据迁移方法、记录工作日报、日历代办等】

    文章目录 说明 笔记导出与导入 导出 导入 本地数据迁移及备份 本地备份说明 恢复 记录工作日报记录今天发生美事等 日历代办 说明 因为公司大佬分享资料,需要用到白日梦这个电子记事本,所以才了解到这个 ...

  7. Flowable发送工作提醒

    1.利用flowable的时间监听器+websokect给用户发送工作提醒 @Component public class ProcessEndListener implements Flowable ...

  8. 项目实践-SpringBoot项目对接钉钉发送工作通知

    项目实践-SpringBoot项目对接钉钉发送工作通知 **书山有路勤为径,学海无涯苦作舟** 记录程序员生活点点滴滴,希望记录的内容能帮助到努力爬山的各位伙伴!标签:Java/钉钉/工作通知 前言 ...

  9. 【邮件服务】hutool发送腾讯企业邮箱案例

    目录 一.hutool发送腾讯企业邮箱 1. 引入依赖 2. 配置resources/config/mail.setting 3. 发送实例,更多参考hutool邮件发送文档 4. 发送结果 ​ 参考 ...

  10. 项目对接浙政钉发送工作消息到浙政钉用户

    项目对接浙政钉发送工作消息到浙政钉用户 一:项目背景 项目需要将设备采集的异常信息,推送给浙政钉的运维用户. 二对接浙政钉消息组件 首先需要注册isv,注册地址为 专有钉钉门户 (dg-work.cn ...

最新文章

  1. hostapd移植与使用
  2. linux ftp登录命令_Linux使用pinky命令查询登录用户信息
  3. JavaScript中的继承
  4. js 转换数字为decmail_BigDecmail(解决java计算精度问题)
  5. git 入门教程之协同开发
  6. WP8.1学习系列(第一章)——添加应用栏
  7. 点到点链路上的ospf
  8. mysql+keepalived必须要lvs吗_Mysql双主热备+LVS+Keepalived高可用操作记录
  9. 杭州刚公布完摇号卖房新政,隔天就来个百亿地王,大家怎么看?
  10. 十四、数据库设计三范式
  11. arcgis10.1连接sqlserver数据库常见问题(转载)
  12. 紧跟潮流的背景设计,赶紧尝试用新的背景改变旧的设计。
  13. 《Linux编程》学习笔记 ·002【Linux常用工具GCC、GDB、Make】
  14. 数字电路实验四选一数据选择器行为级模型
  15. Servlet原理解析
  16. 播布客里小布老师的所有视频收集
  17. IT项目验收规范参考
  18. 数据结构与算法分析 收获总结 第11章 图
  19. 2019考研上海交通大学823计算机通信网真题回忆
  20. Win7虚拟机安装 Mac OS X Lion 10 7 2 及 XCode 4 2 1 iOS SDK5 0 作开

热门文章

  1. 初生牛犊不怕虎,管他呢! 干就是了。
  2. Easyui DataGrid 尾行添加合并行
  3. Google Earth Engine——在控制台中打印出喜马拉雅山脉的动态图,需要用到join链接来实现(含案例)
  4. 修复下载后已发生损坏的压缩包(.rar)文件
  5. psd 直接导入unity
  6. Python 于 webgame 的应用
  7. pixi 小游戏_pixi2d小游戏跳一跳源码/pixi教程,基于pixi-spine的2d游戏
  8. python 005 __ 小斌文档 | 函数的定义和调用
  9. 2022学生党蓝牙耳机怎么选?最新蓝牙耳机排行榜
  10. test1asfd 按时收费的水电费阿萨德阿斯蒂芬啊