文章目录

  • 一、功能介绍
  • 二、实现
    • 2.1.1、创建spingboot项目
    • 2.1.2、项目结构
    • 2.2、pom.xml(依赖)
    • 2.3、application.yml (配置文件)
    • 2.4、GlowingTermsApplication.java(启动类)
    • 2.5、SendMailService.java (接口)
    • 2.6、SendMail.java (接口实现类)
    • 2.7、SchedueTask.java (定时任务配置类)
  • 三、源码

一、功能介绍

1、使用springboot定时任务
2、调用第三方api获取土味情话 这里使用的api是 https://api.lovelive.tools/api/SweetNothings
3、采用邮件方式进行发送
源代码在最下方说明。

二、实现

2.1.1、创建spingboot项目

此处注意尽量不要使用springboot3.0.0 可能会报错 在springboot3.0.0中需要使用jdk17版本

2.1.2、项目结构

2.2、pom.xml(依赖)

        <!-- hutool 依赖--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>4.3.2</version></dependency><!-- 邮件 依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId><version>2.4.3</version></dependency>

2.3、application.yml (配置文件)

spring:mail:host: smtp.qq.com                  #邮箱发送服务器username: 33309******@qq.com       #邮箱地址password: *********          #获取邮箱第三方使用秘钥protocol: smtpproperties.mail.smtp.port: 25       #端口default-encoding: utf-8
she:mail2: 242695****@qq.com

2.4、GlowingTermsApplication.java(启动类)

package xia.wan.glowingterms;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;@SpringBootApplication
@EnableScheduling    //启动定时任务
public class GlowingTermsApplication {public static void main(String[] args) {SpringApplication.run(GlowingTermsApplication.class, args);}
}

2.5、SendMailService.java (接口)

package xia.wan.glowingterms.service;import org.springframework.stereotype.Service;/*** @PACKAGE_NAME: xia.wan.glowingterms.service* @AUTHOR: 太白* @DATE: 2022/12/01/19:12**/
@Service
public interface SendMailservice {void sendMessage(String sub,String message);String getLovePrattle();
}

2.6、SendMail.java (接口实现类)

package xia.wan.glowingterms.service.impl;import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Component;
import xia.wan.glowingterms.service.SendMailservice;import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;/*** @PACKAGE_NAME: xia.wan.glowingterms.service* @AUTHOR: 太白* @DATE: 2022/12/01/19:05**/
@Component
public class SendMail implements SendMailservice {@Autowiredprivate JavaMailSender mailSender;@Value("${spring.mail.username}")private String from;@Value("${she.mail}")private String[] sheMail;public void sendMessage(String subject,String message) {try {MimeMessage mimeMessage = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(mimeMessage);helper.setFrom(from);       //发送方邮件名helper.setTo(sheMail);         //接收方邮件地址
/*            helper.setTo(she1Mail);helper.setTo(she2Mail);*/helper.setSubject(subject);     //邮件标题helper.setText(message,true);   //邮件内容,是否为html格式mailSender.send(helper.getMimeMessage());} catch (MessagingException e) {System.out.println(e);}}@Overridepublic String getLovePrattle() {String result1= HttpUtil.get("https://api.lovelive.tools/api/SweetNothings");System.out.println(result1);return result1;}}

2.7、SchedueTask.java (定时任务配置类)

package xia.wan.glowingterms.config;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import xia.wan.glowingterms.service.impl.SendMail;/*** @PACKAGE_NAME: xia.wan.glowingterms.config* @AUTHOR: 太白* @DATE: 2022/12/01/19:05**/
@Configuration      //主要用于标记配置类,兼备Component的效果。
@EnableScheduling   // 开启定时任务
public class ScheduleTask {@AutowiredSendMail sendMail;@Async@Scheduled(cron = "0 */1 * * * ?")//每分钟发一次(这里是用的是cron表达式,可以上网查阅)public void send(){//        土味情话String one = sendMail.getLovePrattle();sendMail.sendMessage("来自太白的❤",one);}
}

三、源码

gitee仓库

Java实现定时发送小情话(邮件)相关推荐

  1. 【愚人节专场】Java实现定时发送小情话

    首先,感谢大佬的帮助~附上大佬的博客以示尊敬https://blog.csdn.net/qq_38591577/article/details/128164308?spm=1001.2014.3001 ...

  2. 树莓派定时运行python程序_定时发送免费天气预报(邮件)短信通知的Python脚本,通用Linux,也适合树莓派...

    最近在摆弄Python和树莓派,故写了个定时发送免费天气预报(邮件)短信通知的Python脚本,通用Linux,也适合树莓派或者Windows系统,为Python3版本,Python2环境下使用的话, ...

  3. java使用smtp发送html格式邮件

    java 使用 smtf 发送html格式 邮件 Smtp邮件篇 java发送邮件 第一步 1.以网易邮箱为例,首先需要授权邮箱账号可以支持smtp: 开启之后我们需要生成邮箱第三方登陆的授权码,完成 ...

  4. php 实现邮件定时发送,PHP实现邮件的自动发送

    这样就可以实现邮件的发送了.结果如下: 如果要实现自动发送邮件的话,那么程序必须能自动的运行.程序在后台自动运行的代码如下:<?php ignore_user_abort(); // 后台运行 ...

  5. java mail 已发送_Javamail新建邮件后,怎么保存进已发送或草稿箱?

    public void sendMail(String subject, String from, List to, List cc, List bcc, String bodyText, List  ...

  6. 实现Spring Boot 定时发送带附件邮件功能

    文章目录 版本说明: 1.pom依赖 2.配置 3.通过EasyExcel 将数据导出为Excel 4.发送邮件 5.定时功能 6.常用邮箱的服务器(SMTP/POP3)地址和端口总结 版本说明: s ...

  7. java 每月定时发送_java实现指定时间触发一个事件(比如定时发送短信)

    package com.huawei.dm.datasource.system; import java.util.Calendar; import java.util.Date; import ja ...

  8. java发送简单邮件_Java程序实现发送简单文本邮件

    /** * Java程序实现发送简单文本邮件 * * @author Administrator * */ public class SendTextMail { // 定义发件人地址 public  ...

  9. Java文件如何用qq邮箱发送_java中怎么发送复杂的邮件?在QQ邮箱中怎么操作?

    上次我们已经介绍过,如何实现纯文本发送邮件.今天再来为大家介绍下,在java中怎么发送复杂的邮件,以及在QQ邮箱中的具体操作流程. 首先我们来了解一下,MIME(多用途互联网邮件扩展类型).它分为两类 ...

最新文章

  1. python 图像分析自然纹理方向与粗细代码_python skimage图像处理(二)
  2. 安装meme_通过构建Meme生成器学习React
  3. docker 查看容器日志大小 清除指定容器日志
  4. 基于FPGA的波速形成系统的实现
  5. Android中图片优化之webp使用
  6. android 程序退出广播,android 利用广播实现程序的强制退出
  7. Infinite Fraction Path UVALive - 8207
  8. php mb开启,windows环境下如何为php开启mb_string函数库功能
  9. bzoj3744: Gty的妹子序列 (BIT 分块)
  10. 国外的程序员都是什么样的状态?硅谷程序员:不加班,不穿女装
  11. Elasticsearch增删改查 之 —— mget多文档查询
  12. 台式计算机如何封存,一种计算机用声卡封存装置的制作方法
  13. 5WHY分析法 学习笔记
  14. Activity切换闪屏问题
  15. 免费帝国CMS发布插件
  16. Python网络爬虫和信息提取
  17. phpstrom安装,配置,激活教程,以及使用lanyu的激活码,报错1653219,解决办法
  18. WCF学习之:利用Throttling提高服务器性能
  19. Ajax与JavaWeb分页
  20. 【软考中级】软件设计师学习笔记

热门文章

  1. linux格式化硬盘命令mkfs,mkfs磁盘格式化命令
  2. 微众银行软件测试笔试题,微众银行--java面试题一
  3. L2-046 天梯赛的赛场安排
  4. [译] TensorFlow 教程 - 07 Inception 模型
  5. linux服务器管理技术试卷,《Linux网络操作系统配置与管理》试卷D含答案
  6. html eq判断相等,HTML中Smarty中的if语句条件修饰词eq相等ne、neq不相等,gt大于
  7. python帮幼儿园老师分玩具
  8. 关于Androidstudio 将应用安装模拟器上及报错:app/build/intermediates/signing_config/debug/out/signing-config.json
  9. 程序员接私活的请注意了
  10. IT程序员接私活平台