zoukankan      html  css  js  c++  java
  • Spring Boot实现邮件服务,附常见邮箱的配置

    1. pom.xml文件中引入依赖

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

    2. 接口及实现类

    2.1 接口

    package com.yuhuashang.demo.mail;
    
    /**
     * @Author: 
     * @Date: 2018/12/5 15:28
     * @Description: 邮件服务的接口
     */
    public interface MailService {
    
        public void sendSimpleMail(String to, String subject, String content);
    
        
    }

    2.2 实现类

    package com.yuhuashang.demo.mail.impl;
    
    import com.yuhuashang.demo.mail.MailService;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    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.Component;
    
    
    /**
     * @Author:
     * @Date: 2018/12/5 15:23
     * @Description: 邮件服务的实现类
     */
    @Component
    public class MailServiceImpl implements MailService{
    
        private final Logger logger = (Logger)
    LoggerFactory.getLogger(this.getClass());
    
        @Autowired
        private JavaMailSender mailSender;
    
        @Value("${mail.fromMail.addr}")
        private String from;
    
        @Override
        public void sendSimpleMail(String to, String subject, String content) {
            SimpleMailMessage message = new SimpleMailMessage();
            message.setFrom(from);
            message.setTo(to);
            message.setSubject(subject);
            message.setText(content);
    
            try {
                mailSender.send(message);
                logger.info("简单邮件已经发送。");
            }catch (Exception e) {
                logger.error("发送简单邮件时发生异常!", e);
            }
    
        }
    
      
    }

    3. application.properties的配置

    # 发送一方邮件信息
    mail.fromMail.addr=XXXXX
    spring.mail.host=XXXXX
    spring.mail.password=XXXXX
    spring.mail.properties.smtp.auth=true
    spring.mail.properties.smtp.timeout=25000
    spring.mail.username=XXXXXX

    4. 常用邮箱的配置

    4.1 QQ个人邮箱

    # 利用QQ个人邮箱发送邮件
    mail.fromMail.addr=XXXXXX@qq.com
    spring.mail.host=smtp.qq.com
    spring.mail.password=XXXXXXX  // 授权密码,非登录密码
    spring.mail.properties.smtp.auth=true
    spring.mail.properties.smtp.timeout=25000
    spring.mail.username=XXXXXXXX@qq.com

    注意: spring.mail.password使用的开启stmp时,QQ给的授权码,目前需要发送短信开启。

    4.2 163个人邮箱

    # 利用163个人邮箱发送邮件
    mail.fromMail.addr=XXXXXX@163.com
    spring.mail.host=smtp.163.com
    spring.mail.password=XXXXXXX  // 授权密码,非登录密码
    spring.mail.properties.smtp.auth=true
    spring.mail.properties.smtp.timeout=25000
    spring.mail.username=XXXXXXX@163.com

    注意: spring.mail.password使用的开启stmp时,163的授权码,目前需要自己设定。

    4.3 阿里云个人邮箱

    # 利用aliyun个人邮箱发送
    mail.fromMail.addr=XXXXXX@aliyun.com
    spring.mail.host=smtp.aliyun.com
    spring.mail.password=XXXXXX    // 默认开启,填登陆密码即可
    spring.mail.properties.smtp.auth=true
    spring.mail.properties.smtp.timeout=25000
    spring.mail.username=XXXXXXX@aliyun.com

    注意: spring.mail.password使用的是登陆密码,阿里云的stmp默认开启的,我在邮箱上没有发现可以开启或关闭的地方,自己用的登陆密码试过,是可以用的。

    4.4 QQ企业邮箱

    # 利用QQ企业邮箱发送邮件
    mail.fromMail.addr=XXXXXX@xx.com
    spring.mail.host=smtp.exmail.qq.com
    spring.mail.password=XXXXXXX  // 授权密码,非登录密码
    spring.mail.properties.smtp.auth=true
    spring.mail.properties.smtp.timeout=25000
    spring.mail.username=XXXXXXXX@xx.com

    注意: spring.mail.password使用的是授权码,非登陆密码,最近没有用QQ企业邮箱,之前实现过,目前应该是这样的。

    4.5 163企业邮箱

    # 利用163企业邮箱发送邮件
    mail.fromMail.addr=XXXXXX@XXX.com
    spring.mail.host=smtp.qiye.163.com
    spring.mail.password=XXXXXXX   // 授权密码,非登录密码
    spring.mail.properties.smtp.auth=true
    spring.mail.properties.smtp.timeout=25000
    spring.mail.username=XXXXXX@XXX.com

    注意: spring.mail.password使用的是授权码,非登陆密码,由于没有使用过163企业邮箱,故不能保证可用性,如果有用过的朋友,可以给个中肯的答案。

    4.6 阿里云企业邮箱

    # 利用aliyun企业邮箱发送
    mail.fromMail.addr=XXXXXXXX@XXX.com
    spring.mail.host=smtp.mxhichina.com
    spring.mail.password=XXXXX   // 默认开启,填登陆密码即可
    spring.mail.properties.smtp.auth=true
    spring.mail.properties.smtp.timeout=25000
    spring.mail.username=XXXXXX@XXX.com

    注意: spring.mail.password使用的是登陆密码,目前正使用阿里云企业邮箱,自己亲自测试过,目前是可以用的,填登陆密码即可。

  • 相关阅读:
    第二十一章流 1流的操作 简单
    第二十章友元类与嵌套类 1友元类 简单
    第十九章 19 利用私有继承来实现代码重用 简单
    第二十章友元类与嵌套类 2嵌套类 简单
    第十九章 8链表类Node 简单
    第二十一章流 3用cin输入 简单
    第十九章 10 图书 药品管理系统 简单
    第十九章 11图书 药品管理系统 简单
    第二十一章流 4文件的输入和输出 简单
    第十九章 12 什么时候使用私有继承,什么时候使用包含 简单
  • 原文地址:https://www.cnblogs.com/yuhuashang-edward/p/10076217.html
Copyright © 2011-2022 走看看