java电商项目搭建-------使用JavaMailSender实现邮件发送

本文介绍了在微服务项目中如何使用Spring框架进行邮件服务的集成,特别是在用户隐私验证方面,邮件服务作为短信验证的备用手段。通过引入`spring-boot-starter-mail`依赖,可以便捷地配置并使用邮件发送功能,如163网易邮箱的SMTP服务。示例代码展示了如何创建和发送邮件,包括设置主题、内容、收件人和抄送人。邮件服务在个人用户申请上可能有难度,但在企业级应用中广泛使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

让学习成为一种习惯!--------magic_guo

在微服务项目中一般关于用户的隐私的验证方式有两种:
1、邮件服务
2、短信验证服务
现在稍微大点儿的平台将两种服务都结合在一起,手机短信验证作为常用的验证服务,而邮件服务则是被用作保底的一种手段;短信服务相比于邮件服务还是比较方便快捷,至少来说手机已成为人们生活中不可或缺的一部分;

短信服务有很多平台都已实现,例如阿里云,腾讯云、百度云等都以结合运营商实现了自己的短信服务,但是对于个人用户来说,申请短信服务仍是比较困难,他主要是针对公司和企业;因此这里我们来叙述一下邮件服务:

在spring框架中,已经集成了关于邮件发送的各种服务,适用于各个平台QQ、163等;也实现了SMTP/POP3/IMAP等邮件发送的电子邮件传输的协议;此模块叫做JavaMailSender;

我们以163网易邮箱为列子,这里不再叙述关于邮箱SMTP服务的开通等步骤:

pom文件:

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

使用此依赖,无需再写一个JavaMailSender的配置类直接写好配置文件,注入此类即可使用;

配置文件:

spring:
  mail:
    host: smtp.163.com
    username: 邮箱名字
    password: 邮箱的授权码(不是邮箱的密码)

service:

@Service
public class EmailServiceImpl implements IEmailService {

    @Autowired
    private JavaMailSender mailSender;

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

    @Override
    public void sendEmail(Email email) throws MessagingException {

        // 1. 创建一个邮件发送类
        MimeMessage mimeMessage = mailSender.createMimeMessage();

        // 2. 创建一个邮件的模板
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
        helper.setSubject(email.getTitle());
        // true代表如果发送了html的内容,将其格式化;
        helper.setText(email.getContent(), true);
        helper.setTo(email.getToUser());
        helper.setFrom(fromUser);
        if (!StringUtils.isEmpty(email.getCcUser())){
            helper.setCc(email.getCcUser());
        }
        mailSender.send(mimeMessage);
    }
}

测试类:

@SpringBootTest
class ShopEmailApplicationTests {

    @Autowired
    private IEmailService emailService;

    @Test
    void contextLoads() throws MessagingException {

        Email email = new Email();
        email.setTitle("测试163邮件服务");
        email.setContent("验证码为:123123,<a href='http://www.baidu.com'>百度</a>");
        email.setToUser("要发送的邮箱");
        emailService.sendEmail(email);
    }

}

本文章教学视频来自:https://www.bilibili.com/video/BV1tb4y1Q74E?p=3&t=125


静下心,慢慢来,会很快!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值