邮件任务是一个比较常见的功能了,在很多网站中都支持用邮箱进行注册。
我们可以邮件来自动向我们的目标发送消息。
前置准备
-
开启邮箱POP3/SMTP服务,以QQ邮箱为例
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wfvhtDat-1625644314782)(C:/Users/Lyj/AppData/Roaming/Typora/typora-user-images/1623154012842.png)]
-
获取授权码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dBYnLKQt-1625644314785)(C:/Users/Lyj/AppData/Roaming/Typora/typora-user-images/1623154291532.png)]
-
复制授权码
邮件任务的使用
-
导入依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
-
配置邮箱信息
spring.mail.username=1610883488@qq.com spring.mail.password=arpdszybalyvch00 //使用获取的 spring.mail.host=smtp.qq.com spring.mail.properties.mail.smtp.ssl.enable=true
-
设置发送内容和格式
简单的邮件(只有标题和普通文本)
@Autowired JavaMailSenderImpl javaMailSender; @Test public void contextLoads() { //邮件设置1:一个简单的邮件 SimpleMailMessage message = new SimpleMailMessage(); message.setSubject("这是一个正经的标题"); //标题 message.setText("邮件内容"); //内容 message.setTo("1610883488@qq.com"); //发送给 message.setFrom("1610883488@qq.com"); //发送人 javaMailSender.send(message); }
复杂的文件(可以有文本格式,可以携带附件图片)
@Autowired JavaMailSenderImpl javaMailSender; @Test public void contextLoads2() throws MessagingException { MimeMessage mimeMessage = javaMailSender.createMimeMessage(); MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true); mimeMessageHelper.setSubject("这是一个正经的主题"); mimeMessageHelper.setText("<p style='color:red'>学校的局域网有问题</p>", true); //添加附件 mimeMessageHelper.addAttachment("1.jpg", new File("C:\\Users\\Lyj\\Desktop\\1.jpg")); mimeMessageHelper.setTo("1610883488@qq.com"); mimeMessageHelper.setFrom("1610883488@qq.com"); javaMailSender.send(mimeMessage); }