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

功能实现:

在名为愚人节,实为告白/情人节的日子里,怎么样才能引起TA的关注呢?不妨试着定时发送(土味)小情话来增进感情呢~

我的老婆们收到之后都开心的表示,不要捣鼓这些无聊的东西,不如抓紧去赚钱。

这是来自老婆的反馈:

咳咳,虽然被针对了,但是女人说不要那就是要(/▽\)

框架设计:

2.1 创建springboot项目

此处注意尽量不要使用springboot3.0.0,我这里用的是2.7.10。

2.2 pom依赖

<!-- 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: 181*******@qq.com       #邮箱地址password: abdsjszkazkjsad       #获取邮箱第三方使用秘钥protocol: smtpproperties.mail.smtp.port: 25       #端口default-encoding: utf-8
she:mail: 114*******@qq.commail2: 184*******@qq.commail3: 182*******@qq.com

2.4 DemoApplication启动类

package com.example.demo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;@SpringBootApplication
@EnableScheduling
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}}

2.5 SendMailService.java (接口)

package com.example.demo.service.impl;import org.springframework.stereotype.Service;
@Service
public interface SendMailService {void sendMessage(String sub, String message);String getLovePrattle();}

2.6 SendMail.java (接口实现类)

package com.example.demo.service.impl;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.sun.xml.internal.messaging.saaj.packaging.mime.MessagingException;
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 javax.annotation.Resource;
import javax.mail.internet.MimeMessage;
import java.util.ArrayList;@Component
public class SendMail implements SendMailService{@Resourceprivate JavaMailSender mailSender;@Value("${spring.mail.username}")private String from;@Value("${she.mail}")private String[] sheMail;@Value("${she.mail2}")private String[] sheMail2;@Value("${she.mail3}")private String[] sheMail3;public void sendMessage(String subject,String message) {ArrayList<String[]> objects = new ArrayList<>();objects.add(sheMail);objects.add(sheMail2);objects.add(sheMail3);for (String[] object : objects) {try {MimeMessage mimeMessage = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(mimeMessage);helper.setFrom(from);       //发送方邮件名helper.setTo(object);         //接收方邮件地址helper.setSubject(subject);     //邮件标题helper.setText(message,true);   //邮件内容,是否为html格式mailSender.send(helper.getMimeMessage());} catch (javax.mail.MessagingException e) {e.printStackTrace();}}}@Overridepublic String getLovePrattle() {String result1= HttpUtil.get("https://api.lovelive.tools/api/SweetNothings");System.out.println(result1);return result1;}}}

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

package com.example.demo.config;import com.example.demo.service.impl.SendMail;
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 javax.annotation.Resource;@Configuration      //主要用于标记配置类,兼备Component的效果。
@EnableScheduling   // 开启定时任务
public class ScheduleTask {@ResourceSendMail sendMail;@Async@Scheduled(cron = "0 */1 * * * ?")//每分钟发一次(这里是用的是cron表达式,可以上网查阅)public void send(){
//        土味情话String one = sendMail.getLovePrattle();sendMail.sendMessage("小点心",one);}
}

总结:

试着实现了两个方法,一个调用天气,一个土味小情话。

当然,如果鱼塘里有好好多的好多鱼的话,也可以在配置文件里编辑多个邮箱,实现的时候for循环一下就可以了~~

QQ邮箱里的password一栏需要在QQ邮箱里进行设置。

由于我们配置的是SMTP,所以需要将其设置为打开

【愚人节专场】Java实现定时发送小情话相关推荐

  1. Java实现定时发送小情话(邮件)

    文章目录 一.功能介绍 二.实现 2.1.1.创建spingboot项目 2.1.2.项目结构 2.2.pom.xml(依赖) 2.3.application.yml (配置文件) 2.4.Glowi ...

  2. April Fools Contest 2018[cf 愚人节专场题解]

    大家一起打愚人节的比赛还是挺有意思的!~~ 然而没有学弟留下来打比赛真是有点点小遗憾呢~ A:题目不要怕,只要胆子大 %2就好了 B: 给了两只猫,每只猫分为九个部分,有部分相同,有部分不同,你去摸猫 ...

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

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

  4. 【愚人节小程序】Java Swing的简单使用

    我们使用Java Swing图形用户界面库来创建我们的小程序,当用户单击一个按钮时,程序将弹出一个警告窗口,当用户按下"执行"按钮时,窗口上将出现一个愚人节笑话. 下面是一个实现此 ...

  5. 整蛊小程序java手机_明天愚人节!这份微信+小程序整蛊攻略,助你出奇制胜!...

    明天!愚人节!你准备好了吗? 先来回忆一下那些年流行的整蛊: "你鞋带开了" "××,老师(老板)叫你去他办公室" "在别人背后贴'我是笨蛋'&quo ...

  6. 愚人节老板发话了,免费送书 + 免费入驻Java知识星球!!

    愚人节快乐,今天的活动很重磅! 1.免费送5本重量级技术书籍,不骗人,小程序随机抽奖送出哦! 2.免费进星球,哈哈不可能,愚人节快乐!不过今天有重大优惠,见下文! 活动一:免费送出5本重量级书籍 赠书 ...

  7. CSDN日报190318:简单爬虫:给女友定时发送睡前小故事

    程序人生 | 简单爬虫:给女友定时发送睡前小故事 作者:librauee 最近,某可爱要求我忙完之后给她每晚睡前讲讲小故事,我想了下,网络上应该有各种资源,小故事也都能搜得到,但是数量比较少,而且格式 ...

  8. 愚人节失恋,我用Python制作整蛊软件发送给女友,结果...

    点上方"菜鸟学Python",选择"星标" 第458篇原创干货,第一时间送达 不知不觉,一年一度的愚人节又到来了,愚人节也被称作为幽默节,是西方国家流行起来的一 ...

  9. java springBoot实现QQ机器人,定时发送信息,自动回复功能

    --------------------------------文末有源码链接--------------------------------- 1. 准备一个空白springBoot项目 (自行百度 ...

最新文章

  1. CloudHub概述
  2. shell脚本获取客户端IP
  3. 微信公众帐号开发教程第16篇-应用实例之历史上的今天
  4. 您是如何开始使用Linux的?
  5. for、while、do while 3种循环异同点
  6. 传海思为 PC 开发 CPU/GPU ;小米将发布第二款 5G 手机;Firefox 68.0.2 发布 | 极客头条...
  7. Fedora安装完必做
  8. 《windows 鼠标指针文件 学习笔记》
  9. android免费图标_20个免费和高质量的Android图标集—最佳
  10. win10清除系统激活密钥
  11. subst ( 将任意目录挂载成虚拟磁碟机 )
  12. 计算机保持在线的几种方法,获取网络电影实际地址的几种方法.doc
  13. Lpl and Energy-saving Lamps 计蒜客多校
  14. 电子设计入门——各种不同的GND怎么接
  15. C#中Dev配色修改
  16. 【Windows7系统装什么浏览器好用】
  17. 如何利用阿里云服务器快照策略为数据备份
  18. ubuntu与centos哪个更适合做服务器。
  19. 加速研发自动驾驶卡车,戴姆勒买下Torc Robotics多数股权...
  20. 《计算机体系结构:量化研究方法》读书笔记

热门文章

  1. 朋友入职中软一个月(外包华为)就离职了!
  2. 自编小程序,保持编程达人眼睛
  3. 【docker系列】docker深入浅出之安装教程
  4. Linux 串口终端kermit安装和使用
  5. MySQL联合索引以及索引顺序优化
  6. 连接服务器绑定信息无效,警告:ldap_bind():无法绑定到服务器:凭据无效PHP和LDAP...
  7. 入华商用四周年,Office 365小程序在路上
  8. 不用光盘和u盘怎么重装系统win10
  9. 【CIPS 2016】(17章)文字识别 (研究进展、现状趋势)
  10. 程序员偷看了老板的微信分组,惊呆了……