All Projects → callicoder → Spring Boot Quartz Scheduler Email Scheduling

callicoder / Spring Boot Quartz Scheduler Email Scheduling

Spring Boot Quartz Scheduler Example that schedules Emails to be sent at a later time.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Spring Boot Quartz Scheduler Email Scheduling

Funiture
慕课网课程推荐 Java并发编程与高并发解决方案:http://coding.imooc.com/class/195.html Java开发企业级权限管理系统:http://coding.imooc.com/class/149.html github: https://github.com/kanwangzjm/funiture, spring项目,权限管理、系统监控、定时任务动态调整、qps限制、sql监控(邮件)、验证码服务、短链接服务、动态配置等
Stars: ✭ 1,786 (+1538.53%)
Mutual labels:  scheduler, spring, quartz
Milkomeda
Spring extend componets which build from experience of bussiness, let developers to develop with Spring Boot as fast as possible.(基于Spring生态打造的一系列来自业务上的快速开发模块集合。)
Stars: ✭ 117 (+7.34%)
Mutual labels:  spring-boot, spring, quartz
Springbootunity
rabbitmq、redis、scheduled、socket、mongodb、Swagger2、spring data jpa、Thymeleaf、freemarker etc. (muti module spring boot project) (with spring boot framework,different bussiness scence with different technology。)
Stars: ✭ 845 (+675.23%)
Mutual labels:  scheduler, spring-boot, spring
Ibase4j
Spring,SpringBoot 2.0,SpringMVC,Mybatis,mybatis-plus,motan/dubbo分布式,Redis缓存,Shiro权限管理,Spring-Session单点登录,Quartz分布式集群调度,Restful服务,QQ/微信登录,App token登录,微信/支付宝支付;日期转换、数据类型转换、序列化、汉字转拼音、身份证号码验证、数字转人民币、发送短信、发送邮件、加密解密、图片处理、excel导入导出、FTP/SFTP/fastDFS上传下载、二维码、XML读写、高精度计算、系统配置工具类等等。
Stars: ✭ 1,548 (+1320.18%)
Mutual labels:  spring-boot, spring, quartz
Spring Boot Demo
spring boot demo 是一个Spring Boot、Spring Cloud的项目示例,根据市场主流的后端技术,共集成了30+个demo,未来将持续更新。该项目包含helloworld(快速入门)、web(ssh项目快速搭建)、aop(切面编程)、data-redis(redis缓存)、quartz(集群任务实现)、shiro(权限管理)、oauth2(四种认证模式)、shign(接口参数防篡改重放)、encoder(用户密码设计)、actuator(服务监控)、cloud-config(配置中心)、cloud-gateway(服务网关)等模块
Stars: ✭ 323 (+196.33%)
Mutual labels:  spring-boot, spring, quartz
Spring Boot Examples
about learning Spring Boot via examples. Spring Boot 教程、技术栈示例代码,快速简单上手教程。
Stars: ✭ 26,812 (+24498.17%)
Mutual labels:  scheduler, spring-boot, spring
Quartz Demo
Demo project for Spring Boot 2 and Quartz scheduler integration
Stars: ✭ 63 (-42.2%)
Mutual labels:  spring-boot, spring, quartz
Superman
Superman是什么:构建Java 高级开发技术的知识体系,从基础不断打怪升级成为超人之路(更新中.......)
Stars: ✭ 106 (-2.75%)
Mutual labels:  spring-boot, spring
Limiter
一个注解使你的SpringBoot项目获得分布式锁和限流器能力
Stars: ✭ 93 (-14.68%)
Mutual labels:  spring-boot, spring
Spring Cloud Microservices Development
Spring Cloud Microservices Development.《Spring Cloud 微服务架构开发实战》
Stars: ✭ 106 (-2.75%)
Mutual labels:  spring-boot, spring
Easyfxml
A collection of tools and libraries for easier development on the JavaFX platform!
Stars: ✭ 102 (-6.42%)
Mutual labels:  spring-boot, spring
Mall
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
Stars: ✭ 54,797 (+50172.48%)
Mutual labels:  spring-boot, spring
Eureka Consul Adapter
This project contains a Spring Boot Starter that registers HTTP endpoints on a Spring Cloud Eureka server to support Prometheus's service discovery mechanism for Consul (<consul_sd_config>)
Stars: ✭ 93 (-14.68%)
Mutual labels:  spring-boot, spring
Springbootsample
spring boot sample source
Stars: ✭ 95 (-12.84%)
Mutual labels:  spring-boot, spring
Reactive Spring Security 5 Workshop
Hands-On workshop for securing a reactive spring boot 2 application in multiple steps
Stars: ✭ 92 (-15.6%)
Mutual labels:  spring-boot, spring
Awbeci Ssb
spring spring-boot spring-security spring-social
Stars: ✭ 102 (-6.42%)
Mutual labels:  spring-boot, spring
Java Spring Web
OpenTracing Spring Web instrumentation
Stars: ✭ 89 (-18.35%)
Mutual labels:  spring-boot, spring
Springbootdemo
springBoot demo
Stars: ✭ 97 (-11.01%)
Mutual labels:  spring-boot, spring
Springboot Quartz
quartz + springboot + RabbitMQ + H2(in-memory database) + dynamic task management web console.
Stars: ✭ 103 (-5.5%)
Mutual labels:  spring-boot, quartz
Seppb
普兰能效平台开源版(后端)
Stars: ✭ 104 (-4.59%)
Mutual labels:  spring-boot, quartz

Spring Boot Quartz Scheduler Example: Building an Email Scheduling app

Complete Tutorial: https://www.callicoder.com/spring-boot-quartz-scheduler-email-scheduling-example/

Requirements

  1. Java - 1.8.x

  2. Maven - 3.x.x

  3. MySQL - 5.x.x

Steps to Setup

1. Clone the application

git clone https://github.com/callicoder/spring-boot-mysql-rest-api-tutorial.git

2. Create MySQL database

create database quartz_demo

3. Change MySQL username and password as per your MySQL installation

open src/main/resources/application.properties, and change spring.datasource.username and spring.datasource.password properties as per your mysql installation

4. Setup Spring Mail

The project is using Gmail's SMTP server for sending emails. Whether you use Gmail or any other SMTP server, you'll need to configure the following mail properties accordingly -

spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=[email protected]
spring.mail.password=

If you're using Gmail, you need to allow the third party apps to send emails by following the instructions below -

5. Create Quartz Tables

The project stores all the scheduled Jobs in MySQL database. You'll need to create the tables that Quartz uses to store Jobs and other job-related data. Please create Quartz specific tables by executing the quartz_tables.sql script located inside src/main/resources directory.

mysql> source <PATH_TO_QUARTZ_TABLES.sql>

6. Build and run the app using maven

Finally, You can run the app by typing the following command from the root directory of the project -

mvn spring-boot:run

Scheduling an Email using the /scheduleEmail API

curl -i -H "Content-Type: application/json" -X POST \
-d '{"email":"[email protected]","subject":"Things I wanna say to my Future self","body":"Dear Future me, <br><br> <b>Think Big And Don’t Listen To People Who Tell You It Can’t Be Done. Life’s Too Short To Think Small.</b> <br><br> Cheers, <br>Rajeev!","dateTime":"2018-09-04T16:15:00","timeZone":"Asia/Kolkata"}' \
http://localhost:8080/scheduleEmail

# Output
{"success":true,"jobId":"0741eafc-0627-446f-9eaf-26f5d6b29ec2","jobGroup":"email-jobs","message":"Email Scheduled Successfully!"}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].