获取邮箱安全密码
1.登录qq邮箱
2.点击设置
3.点击账户
4.往下滑找到下图所示位置
点击开启(本人这里开启过了,另外开启过程中会有验证,最后会发给你一个安全密码)
5.建立SpringBoot项目
注意引入web和mail依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
6.在application.properties中配置mail
#邮件相关配置
spring.mail.host=smtp.qq.com
spring.mail.port=587
#spring.mail.username的值是自己的qq邮箱
spring.mail.username=***@qq.com
#spring.mail.password的值是上面提到的安全密码
spring.mail.password=***
7.创建一个mail包
创建一个MailService的类
@Service
public class MailService {
@Autowired
private JavaMailSenderImpl javaMailSender;
@Value("${spring.mail.username}")
private String from;
//发送纯文本
public void sendEmail(String to,String subject,String text){
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setFrom(from);
simpleMailMessage.setTo(to);
simpleMailMessage.setSubject(subject);
simpleMailMessage.setText(text);
try {
javaMailSender.send(simpleMailMessage);
System.out.println("发送成功");
} catch (MailException e) {
System.out.println("发送失败");
e.printStackTrace();
}
}
//发送带附件的,这里不用
public void sendComplexEmail(String to,String subject,String text,String filePath,String rscId,String rscPath){
MimeMessage message = javaMailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(message,true);
helper.setFrom(from);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(text,true);
FileSystemResource resource = new FileSystemResource(new File(rscPath));
helper.addInline(rscId,resource);
FileSystemResource file = new FileSystemResource(new File(rscPath));
String fileName= filePath.substring(filePath.lastIndexOf(File.separator));
helper.addAttachment(fileName,file);
javaMailSender.send(message);
System.out.println("发送成功");
} catch (MessagingException e) {
System.out.println("发送失败");
e.printStackTrace();
}
}
}
8.在mail包下创建SendMail类
@Service
public class SendMail {
@Autowired
private MailService mailService;
private int count3=3; private int count4=3;
private boolean flag2=false;
private static String[] strings1 = new String[]{
"人生中,观众向来比朋友多。观众只会让人从视觉上舒服,朋友却会让你内心感动。关心,不需要甜言蜜语,真诚就好;友谊,不需要朝朝暮暮,记得就好;问候,不需要语句优美,真心就好;爱护,不需要刻意的形式,温暖就好。",
"让清晨第一缕阳光带去我的问候,叫醒你的好运,让斜阳的温馨余晖洒满我对你的满满祝福,积蓄梦想的力量。无论何时何地,一定记得保重身体,保持快乐。早上好。",
"睁开睡眼,整理衣衫,精神抖擞,大步向前。晨光耀眼,阳光青年,为了理想,心向蓝天。绿草清香,宜人芬芳,展现微笑,新的一天!你好,早安!",
"幸福不是轰轰烈烈,而是藏在平凡而充实的日子里。早起吃一顿营养丰盛的早餐,怀着责任心做好每一份工作,带着微笑和耐心回到家人身边。把生活中的每一天都过得热气腾腾,自能体会到幸福的滋味。新的一天,早晨!",
"起床了,我的祝福到了:美丽的阳光伴着一声声问候,一阵阵微风,一朵朵白云,一片片真心,一框框祝福,送给我最惦记的朋友,愿九月的阳光送给你快乐!",
"人生其实并不缺少快乐,缺少的只是感受快乐的心情,若要快乐,就要随和;若要幸福,就要随缘。快乐是心的愉悦,幸福是心的满足。快乐其实很简单,有人说,快乐是春天的鲜花,夏天的绿荫,秋天的野果,冬天的漫天飞雪。其实,快乐就在我们身边,一个会心的微笑,一次真诚的握手,一次倾心的交谈,就是一种快乐无比的事情!",
"人生如酒,有了微笑的美酒,才飘着诱人的醇香;人生如歌,有了微笑的歌声,便多了动人的旋律;人生如书,有了微笑的书籍,便有了闪光的主题;人生如画,有了微笑的画卷,便添了亮丽的色彩。",
"最快的脚步不是跨越,而是继续;最慢的步伐不是缓慢,而是徘徊;最好的道路不是大道,而是坦荡;最险的道路不是陡坡,而是陷阱;最大的幸福不是得到,而是拥有;最好的财富不是金钱,而是健康;最棒的祝福不是将来,而是现在。",
"一天中,第一个叫醒你的是闹钟,第一眼看到的是阳光,第一件要做的事洗簌,第一顿吃的是早餐,第一句问候是早安,我就第一个祝福你:早安朋友,快乐每一天!",
"早晨起床伸懒腰,对着镜子哈哈笑,说声早安会心笑,压力全抛无烦恼,刷牙洗脸哼小曲,开开心心一天到,问候不少在今朝,早安一生愿你好。早安。",
};
private static String[] strings2 = new String[]{
"不管你身在何处,幸运与快乐时刻陪伴着你,愿每日与你同在的是美丽与幸福。人的这一生有太多的来来往往,有些我们转瞬即忘,有些我们刻骨铭心。友谊就在那些刻骨铭心中滋长,心中的思念联系莫忘,晚安,愿幸福放心上!",
"知你工作回家身心疲惫,特送祝福给你:一天的结束,工资在手里数,压力烦躁通通删除,只留下幸福快乐,身强力壮,敏捷如鼠。黑夜送你一剂安神药,让你安然入睡,做个甜甜的美梦,晚安。",
"睡不着的话就问问自己“为什么”吧。为什么要自寻烦恼呢?有什么过不去呢?为什么急躁呢?放下心不好吗?为什么想那么多呢?睡个好觉是现在最重要的事情,所以,晚安啦!为什么不呢?",
"今晚的风儿轻轻飘,今晚的星星眨眼笑,今晚的月光把你照,今晚的电视节目俏,今晚的梦境最美妙,今晚的祝福马上到,祝你晚安睡好觉!",
"问候前来,因你可爱。给个任务,睡觉比赛。自由组合,动作要快。草席枕头,各人自带。呼噜伴奏,周公断裁。别露肚脐,当心冻坏。明见分晓,晚安拜拜!",
"今晚的风儿轻轻飘,今晚的星星眨眼笑,今晚的月光把你照,今晚的电视节目俏,今晚的梦境最美妙,今晚的祝福马上到,今晚的.短信写一条,恭祝你晚安睡好觉!",
"知道小孩子为什么睡眠好吗,是因为没有压力,知道猪为什么睡的好吗,是因为没有想法,愿你丢掉压力,放弃幻想,做一个有好睡眠的小猪猪。",
"三句话给心烦时的自己:第一句“算了吧”告诉自己,凡事努力但不可执着;第二句“不要紧”告诉自己,凡事努力了就无怨悔;第三句“会过去”告诉自己,明媚阳光总在风雨后。无论发生什么,一切都是最好的安排——朋友,晚安。",
"人的这一生有太多的来来往往,有些我们转瞬即忘,有些我们刻骨铭心。友谊就在那些刻骨铭心中滋长,心中的思念联系莫忘,晚安,愿幸福放心上!",
"花未眠,精神亦不新鲜;人已累,只盼轻松入睡;夜太美,星光除去疲惫;心相随,知心人儿来陪,剪掉压力的绳索,让睡意蓬勃。愿短信为你赶走一身疲惫,伴你安然入睡,晚安好梦!",
"白天的所见所闻,晚上的日又所思,白头的不开心,晚上的好心情,带着好心情,晚安,朋友。"
};
//这里设置的是早上七点和晚上十一点,如果需要,自行修改
@Scheduled(cron = "0 0 7,23 * * *")
public void sendToWang(){
long start=System.currentTimeMillis();
//将下面的邮箱地址换成发送对象的,不限于QQ邮箱
String to="***qq.com";
String subject;
String text;
if (flag2==true){
if (count3>=strings1.length){
count3=0;
}
//将下面的***换成发送对象的名字
subject="[早上好呀,***!]";
text=strings1[count3];
flag2=false;
count3++;
}else {
if (count4>=strings2.length){
count4=0;
}
//将下面的***换成发送对象的名字
subject="[晚上好呀,***!]";
text=strings2[count4];
flag2=true;
count4++;
}
mailService.sendEmail(to,subject,text);
long end = System.currentTimeMillis();
}
}
上面的文字可以换成自己的,注意不要动英文的双引号
9.在SpringBoot启动类上添加注解
@EnableScheduling
@EnableScheduling
@SpringBootApplication
public class MailTestApplication {
public static void main(String[] args) {
SpringApplication.run(MailTestApplication.class, args);
}
}
10.启动SpringBoot即可
注意:如果关闭SpringBoot程序,程序不会执行
本文含有隐藏内容,请 开通VIP 后查看