SpringBoot任务管理之发送邮件
  40IdLO25mCaU 2023年11月02日 22 0


SpringBoot任务管理之发送邮件

一:纯文本邮件

添加邮件依赖:
我选用了2.4.3版本

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
            <version>2.4.3</version>
        </dependency>

配置(我用的是yml文件):

spring:
  mail:
    default-encoding: UTF-8
    host: smtp.qq.com
    port: 587
    username: 87......24@qq.com
    password: rcetritpgxylbfdf

我用的是QQ邮箱,如果是别的(如网易,163等)host和port是需要更改的,此处username是邮件发送方,密码不是邮箱密码,是邮箱的授权码,可以通过短信验证获取,可上网百度查看如何获取。

接口:

public interface SendMailService {
    void sendMail(String to, String subject, String text);
}

实现类:

@Service
public class SendMailServiceImpl implements SendMailService {
    @Autowired
    private JavaMailSender javaMailSender;
    @Value("${spring.mail.username}")
    private String form;
    @Override
    public void sendMail(String to, String subject, String text) {
        SimpleMailMessage mailMessage = new SimpleMailMessage();
        mailMessage.setFrom(form);
        mailMessage.setTo(to);
        mailMessage.setSubject(subject);
        mailMessage.setText(text);
        try{
            javaMailSender.send(mailMessage);
            System.out.println("----成功-----");
        }catch (Exception e){
            e.printStackTrace();
            System.out.println("------失败---");
        }
    }
}

测试类:

@RunWith(SpringRunner.class)
 @SpringBootTest
 public class SendMailController {
 @Autowired
 private SendMailService sendMailService;
 @Test
 public void sendMail(){
 String to = “87…24@qq.com”;//目标邮箱
 String subject = “测试邮件标题”;
 String text = “测试邮件内容”;
 sendMailService.sendMail(to, subject, text);
 }
 }


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  Fv5flEkOgYS5   2023年11月02日   49   0   0 i++javaide
40IdLO25mCaU