Spring Boot 发送qq邮箱的步骤和方法

先去qq邮箱开启POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,设置服务授权码

邮箱==>账号==>管理服务==>开启服务==>生成授权码

然后我们导入邮箱依赖
<!-- 邮件发送依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>
再配置邮箱服务器,在application.propertie文件或application.yml文件中配置信息
application.propertie文件中
# 指定SMTP服务器的主机名
spring.mail.host=smtp.qq.com
# 指定SMTP服务器的端口号
spring.mail.port=587
# 指定发送邮件使用的用户名,通常是你的邮箱地址
spring.mail.username=你的QQ邮箱账号
# 指定发送邮件使用的密码,这里是QQ邮箱的授权码,而不是登录密码
spring.mail.password=你的QQ邮箱授权码
# 设置SMTP认证为true,表示发送邮件时需要进行身份验证
spring.mail.properties.mail.smtp.auth=true
# 指定SMTP客户端使用的SocketFactory类,用于建立SSL连接
spring.mail.properties.mail.smtp.socketFactory.class=com.sun.net.ssl.internal.ssl.SocketFactoryImpl
# 如果找不到指定的SocketFactory类,是否允许回退到非SSL连接,默认为false
spring.mail.properties.mail.smtp.socketFactory.fallback=false
# 设置SMTP客户端使用SSL加密,这里的值为true表示启用SSL
spring.mail.properties.mail.smtp.ssl.enable=tru
# 设置信任的主机名,这里的值为SMTP服务器的主机名,表示信任此服务器
spring.mail.properties.mail.smtp.ssl.trust=smtp.qq.com
application.yml文件
spring:
  mail:
    host: smtp.qq.com  # 指定SMTP服务器的主机名
    port: 587          # 指定SMTP服务器的端口号
    username: 你的QQ邮箱账号  # 指定发送邮件使用的用户名,通常是你的邮箱地址
    password: 你的QQ邮箱授权码  # 指定发送邮件使用的密码,这里是QQ邮箱的授权码,而不是登录密码
    properties:
      mail:
        smtp:
          auth: true  # 设置SMTP认证为true,表示发送邮件时需要进行身份验证
          socketFactory:
            class: com.sun.net.ssl.internal.ssl.SocketFactoryImpl  # 指定SMTP客户端使用的SocketFactory类,用于建立SSL连接
            fallback: false  # 如果找不到指定的SocketFactory类,是否允许回退到非SSL连接,默认为false
          ssl:
            enable: true  # 设置SMTP客户端使用SSL加密,这里的值为true表示启用SSL
            trust: smtp.qq.com  # 设置信任的主机名,这里的值为SMTP服务器的主机名,表示信任此服务器
使用时需要先注入 JavaMailSender ,
@Resource
private JavaMailSender javaMailSender;

/**
 * 发送邮件
 *
 * @param email
 * @param code
 */
public void sendEmail() {
    // 创建一个新的MimeMessage实例
    MimeMessage mimeMessage = javaMailSender.createMimeMessage();
    try {
        // 使用MimeMessageHelper来构造邮件内容
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); // 第二个参数为true表示支持多部分邮件
        //发送人
        helper.setFrom("你的邮箱");
        //接收人
        helper.setTo("接收人邮箱");
        //主题
        helper.setSubject("随意填写");
        //内容
        helper.setText("随意填写");
        //发送
        javaMailSender.send(mimeMessage);
    } catch (MessagingException e) {
        throw new RuntimeException("发送失败:" + e.getMessage());
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值