欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

实现springboot发送邮件功能的简单demo

程序员文章站 2024-03-20 11:20:40
...

添加依赖

springboot的启动器里有一个mail启动器,直接添加进来即可

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

配置邮件信息

实现springboot发送邮件功能的简单demo需要注意的是password不是邮箱登录密码,而是客户端授权码,关于如何获取客户端授权码请自行百度

ServiceImpl

/**
 * @Author: Fandy
 * @Date: 2020/4/16 10:11
 */
@Service
public class MailServiceImpl implements MailService {

    private final Logger logger = LoggerFactory.getLogger(this.getClass());
    @Autowired
    private MailSender mailSender;

    @Value("${spring.mail.username}")
    private String from;

    @Override
    public void sendSimpleMail(String to, String subject, String content) {
        SimpleMailMessage smm = new SimpleMailMessage();
        smm.setFrom(from);
        smm.setCc("aaa@qq.com");
        smm.setTo(to);
        smm.setSubject(subject);
        smm.setText(content);

        try{
            mailSender.send(smm);
            logger.info("简单邮件已经发送");
        }catch (Exception e) {
            e.printStackTrace();
        }
    }
}

这里提一下setCc方法,这个方法是设置抄送人的意思,如果不设置的话,会报405 DT:SPM等错误信息,大概就是被163邮箱认为邮件内容不规范,包含违法信息等,加了这个方法就好了,如果还报错,就改一下发送文本和标题,使其正常一点

测试

@Test
    void testMail() {
        mailService.sendSimpleMail("aaa@qq.com","婚礼邀请","邀请您来参与婚礼");
    }

这样,springboot就能发送一封简单的邮件啦~~~~~