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

这篇具有很好参考价值的文章主要介绍了【愚人节专场】Java实现定时发送小情话。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

功能实现:

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

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

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

这是来自老婆的反馈:

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

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

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

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

框架设计:

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

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: smtp
    properties.mail.smtp.port: 25       #端口
    default-encoding: utf-8
she:
  mail: 114*******@qq.com
  mail2: 184*******@qq.com
  mail3: 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{
    @Resource
    private 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();
        }}
    }
    @Override
    public 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 {
    @Resource
    SendMail sendMail;

    @Async
    @Scheduled(cron = "0 */1 * * * ?")//每分钟发一次(这里是用的是cron表达式,可以上网查阅)
    public void send(){
//        土味情话
        String one = sendMail.getLovePrattle();


        sendMail.sendMessage("小点心",one);


    }
}

总结:

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

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

QQ邮箱里的password一栏需要在QQ邮箱里进行设置。【愚人节专场】Java实现定时发送小情话

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

【愚人节专场】Java实现定时发送小情话文章来源地址https://www.toymoban.com/news/detail-402911.html

到了这里,关于【愚人节专场】Java实现定时发送小情话的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 工作随记-Java利用企业微信群机器人定时发送消息

    hi,大家好,我是恰恰 阅读本文需要2分钟~ 最近利用企业微信群机器人做的需求主要有 1.返奖率通知与告警: 抽奖箱能抽出垃圾也能抽出大货,每隔5分钟查询一下这个返奖率,如果用户频繁抽出大货,这个抽奖箱的返奖率已经高出了阈值,那么我们就将其下架。 2.自动发送导

    2024年02月09日
    浏览(50)
  • 如何实现企微群机器人定时发送消息提醒?

    一、首先添加群机器人 二、创建完成的机器人是这样的,会有一个唯一标识:Webhook地址 三、设置 机器人发消息文本 以下是用curl工具往群组推送文本消息的示例(注意要将url替换成你的机器人webhook地址,content必须是utf8编码): 具体可以详见 机器人配置说明 机器人搞定了

    2024年02月09日
    浏览(47)
  • kettle的简单示例:实现数据定时推送和监测,并发送异常报告邮件

      生产环境的系统因程序BUG,产生了异常数据若没有及时处理,随着时间的日积月累最后可能会出现难以挽回的经济损失。   鉴于此,我们需要有一套自动核查机制。定时检查数据库的核心表数据。当出现不符合要求的异常数据时,能尽早提醒管理员及时处理。 以下使用大

    2024年02月12日
    浏览(47)
  • Python实现飞书机器人定时发送文本、图片等群消息

    工作中会经常遇到监控告警相关问题,监控和告警的目的是要在事中及时发现问题并定位系统问题,那么当系统或平台出现问题了,如何及时暴露这些问题给对应的项目开发人员呢? 本文记录了在Python项目中利用飞书的自定义机器人webhook向飞书群推送文本及图片消息~ 飞书群

    2024年01月25日
    浏览(46)
  • Linux之实现Apache服务器监控、数据库定时备份及通过使用Shell脚本发送邮件

    目录  一、Apache服务器监控 为什么要用到服务监控? 实现Apache服务器监控 二、数据库备份 为什么要用到数据库备份? 实现数据库备份 三、Shell脚本发送邮件 为什么要用使用Shell脚本发送邮件? 实现Shell脚本发送邮件 在Linux中监控Apache服务器是非常重要的,原因如下: 保证

    2024年04月15日
    浏览(71)
  • 利用Python和Selenium编程,实现定时自动检索特定网页,发现特定网页内容发生变化后,向管理员发送提醒邮件(一)

            要求爬取某单位网站,登录后台查看是否有新增“网友提问”,如果有新的提问,向特定邮箱发出提醒邮件。 首先查看该网站的robots.txt文件,发现不存在该文件,由于未禁止,可用爬取取相关信息。 查看是否有网友提问的操作流程如下。 1、登录网站后台管理页面

    2024年02月17日
    浏览(71)
  • 微信朋友圈怎么定时发送?微信朋友圈定时发送有什么优势?

    刷朋友圈已经成为大部分人日常中不可缺少的一件事,同时也是企业用来触达客户的重要渠道。下面一起来了解一下微信朋友圈定时发送的优势有哪些,还有怎么定时发朋友圈吧。 定时发朋友圈的优势有哪些? 1、让企业能够更好地管理自己的宣传信息 2、有助于提高企业的

    2024年02月08日
    浏览(36)
  • Java -- 定时任务实现方式

    在Java开发中,定时任务是一种十分常见的功能. 定时任务是在约定时间内执行的一段程序 如每天凌晨24点备份同步数据,又或者电商平台 30 分钟后自动取消未支付的订单,每隔一个小时拉取一次数据等都需要使用到定时器 批量处理数据:批量统计上个月的某个数据。 时间驱

    2024年02月02日
    浏览(37)
  • java实现发送邮件

    本文介绍下java实现邮件的发送,意在网站用户评论时能够及时通知站长和用户评论被回复后能够及时通知用户。 下文介绍下具体实现。 java实现 首先引入springboot的邮箱依赖 配置邮箱参数,这里以 qq邮箱 作为示例 此时就差不多了,接下来实现邮箱工具类 此时调用 MailUtil 里

    2024年02月16日
    浏览(46)
  • 用Java实现发送邮件——Java Email

            众所周知,Email就是邮件,在科技高速发展的今天我们也使用了非常之久的电子邮件,我们熟知的邮件有自己的QQ邮箱、网易邮箱大师还有Outlook等都是用来发送邮件的,而用Java程序也是可以用来发送邮件的。 首先我们先对比一下传统的邮件信息是如何发送的:传

    2024年02月05日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包