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.www.quwanyule157.com exmail.qq.com
  
  spring.mail.password=XXXXXXX  // 受權密碼,非登陸密碼
  
  spring.mail.www.dfgjpt.com 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 www.mhylpt.com.smtp.www.gcyL157.com 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使用的是登錄密碼,目前正使用阿里雲企業郵箱,本身親自測試過,目前是能夠用的,填登錄密碼便可。
  
  分類: Spring-Boot系列,Java經常使用功能總結java

相關文章
相關標籤/搜索