spring boot邮件发送整合

  • 邮件发送的基本过程与概念

    • 邮件服务器:类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中
    • 电子邮箱:用户在邮件服务器上申请的一个账户
      • from:发件人邮箱
      • to:收件人邮箱
      • subject:主题
      • body:内容体
  • 邮件传输协议

    • SMTP协议:全称Simple Mail Transfer Protocol,简单邮件传输协议。它定义了邮件客户端软件和SMTP邮件服务器之间,以及两台SMTP服务器之间的通信规则
    • POP3协议:全称为Post Office Protocol,邮局协议。它定义了邮件客户端软件和POP3邮件服务器的通信规则
    • IMAP协议:全称为Internet Message Access Protocol,Internet消息访问协议,它是对POP3协议一种扩展,也是定义了邮件客户端软件和IMAP邮件服务器的通信规则
  • 项目中添加依赖

    <!--发送邮件-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>
    
  • 配置文件

    spring:
      # 邮箱服务配置
      mail:
        host: smtp.163.com
        username: 18811112222@163.com
        password: 授权码
        from: 18811112222@163.com
        default-encoding: utf-8
        protocol: smtps
        properties.mail.smtp.starttls.enable: true
        properties.mail.smtp.starttls.required: true
        properties.mail.smtp.ssl.enable: true
    
  • 微服务service封装

    package com.gen.service.impl;
    
    import com.gen.service.MailService;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.mail.SimpleMailMessage;
    import org.springframework.mail.javamail.JavaMailSender;
    import org.springframework.stereotype.Service;
    
    /**
     * 邮件发送服务
     */
    @Service
    @Slf4j
    public class MailServiceImpl implements MailService {
    
        @Autowired
        private JavaMailSender mailSender;
    
        @Value("${spring.mail.from}")
        private String from;
    
        /**
         * 发送简单邮件
         *
         * @param to      收信人
         * @param subject 主题
         * @param content 正文
         */
        @Override
        public void sendSimpleMail(String to, String subject, String content) {
            // 创建SimpleMailMessage对象
            SimpleMailMessage message = new SimpleMailMessage();
    
            // 邮件发送人
            message.setFrom(from);
            // 邮件接收人
            message.setTo(to);
            // 邮件主题
            message.setSubject(subject);
            // 邮件内容
            message.setText(content);
    
            // 发送邮件
            this.mailSender.send(message);
            log.info("邮件发送成功===》{}",message);
        }
    }
    
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gen邓艮艮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值