最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實(shí)現(xiàn)郵箱發(fā)送功能實(shí)例(阿里云郵箱推送)

 更新時(shí)間:2020年09月20日 14:52:07   作者:bitQian  
這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)郵箱發(fā)送功能的相關(guān)資料,利用阿里云郵箱推送,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

綁定阿里云域名,創(chuàng)建域名賬戶(hù),并配置解析域名賬戶(hù),獲得發(fā)送郵箱的權(quán)限,上限兩百封,超出要¥…

阿里云郵件推送控制臺(tái)

https://www.aliyun.com/product/directmail

申請(qǐng)郵箱并解析域名

https://yq.aliyun.com/articles/707997

1. 郵箱信息實(shí)體類(lèi)

package cn.bitqian.mail.test;

/**
 * 郵件內(nèi)容實(shí)體類(lèi)
 * @author echo lovely
 * @date 2020/9/18 15:47
 */
public class MailInfo {

  // 發(fā)件人賬戶(hù)
  private String sendEmailAccount;

  // 發(fā)件人密碼
  private String sendEmailPassword;

  // 收件人賬戶(hù)
  private String receiveMailAccount;

  // 發(fā)送人姓名
  private String sendPersonName;

  // 收件人姓名
  private String receivePersonName;

  // 郵件標(biāo)題
  private String mailTitle;

  // 郵件正文
  private String mailContent;

  public MailInfo(String sendEmailAccount, String sendEmailPassword, String receiveMailAccount,
          String sendPersonName, String receivePersonName,
          String mailTitle, String mailContent) {
    this.sendEmailAccount = sendEmailAccount;
    this.sendEmailPassword = sendEmailPassword;
    this.receiveMailAccount = receiveMailAccount;
    this.sendPersonName = sendPersonName;
    this.receivePersonName = receivePersonName;
    this.mailTitle = mailTitle;
    this.mailContent = mailContent;
  }

  public String getSendEmailAccount() {
    return sendEmailAccount;
  }

  public void setSendEmailAccount(String sendEmailAccount) {
    this.sendEmailAccount = sendEmailAccount;
  }

  public String getSendEmailPassword() {
    return sendEmailPassword;
  }

  public void setSendEmailPassword(String sendEmailPassword) {
    this.sendEmailPassword = sendEmailPassword;
  }

  public String getReceiveMailAccount() {
    return receiveMailAccount;
  }

  public void setReceiveMailAccount(String receiveMailAccount) {
    this.receiveMailAccount = receiveMailAccount;
  }

  public String getMailTitle() {
    return mailTitle;
  }

  public void setMailTitle(String mailTitle) {
    this.mailTitle = mailTitle;
  }

  public String getMailContent() {
    return mailContent;
  }

  public void setMailContent(String mailContent) {
    this.mailContent = mailContent;
  }

  public String getSendPersonName() {
    return sendPersonName;
  }

  public void setSendPersonName(String sendPersonName) {
    this.sendPersonName = sendPersonName;
  }

  public String getReceivePersonName() {
    return receivePersonName;
  }

  public void setReceivePersonName(String receivePersonName) {
    this.receivePersonName = receivePersonName;
  }
}

2. jar包依賴(lài)

 <dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.11</version>
  <scope>test</scope>
 </dependency>

 <!-- mail dependency -->
 <dependency>
  <groupId>com.sun.mail</groupId>
  <artifactId>javax.mail</artifactId>
  <version>1.6.2</version>
 </dependency>

3. 發(fā)送郵箱實(shí)現(xiàn)

注意:

 1. 更改下面的屬性,與實(shí)體類(lèi)對(duì)應(yīng)

代碼實(shí)現(xiàn)

package cn.bitqian.mail.test;

import org.junit.Test;

import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Date;
import java.util.Properties;


/**
 * 郵件發(fā)送工具類(lèi)
 * @author echo lovely
 * @date 2020/9/18 15:54
 */
public class MailSendUtils {

  // 郵箱smtp協(xié)議 這里是使用阿里云的
  public static final String myEmailSMTPHost = "smtpdm.aliyun.com";

  @Test
  public void test() {
    MailInfo mailInfo = new MailInfo("控制臺(tái)所綁定的郵箱賬戶(hù)名",
        "綁定賬戶(hù)郵箱密碼",
        "收件人郵箱名", "發(fā)件人姓名",
        "收件人姓名", "郵箱標(biāo)題", "郵箱內(nèi)容");
    try {
      sendEmail(mailInfo);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

  public void sendEmail(MailInfo mailInfo) throws Exception {

    // 1. 創(chuàng)建參數(shù)配置, 用于連接郵件服務(wù)器的參數(shù)配置
    Properties props = new Properties();          // 參數(shù)配置
    props.setProperty("mail.transport.protocol", "smtp");  // 使用的協(xié)議(JavaMail規(guī)范要求)
    props.setProperty("mail.smtp.host", myEmailSMTPHost);  // 發(fā)件人的郵箱的 SMTP 服務(wù)器地址
    props.setProperty("mail.smtp.auth", "true");      // 需要請(qǐng)求認(rèn)證

    // 2. 根據(jù)配置創(chuàng)建會(huì)話對(duì)象, 用于和郵件服務(wù)器交互
    Session session = Session.getInstance(props);
    session.setDebug(true);                 // 設(shè)置為debug模式, 可以查看詳細(xì)的發(fā)送 log

    // 3. 創(chuàng)建一封郵件
    MimeMessage message = new MailSendUtils().createMimeMessage(session, mailInfo);

    // 4. 根據(jù) Session 獲取郵件傳輸對(duì)象
    Transport transport = session.getTransport();

    // 5. 使用 郵箱賬號(hào) 和 密碼 連接郵件服務(wù)器, 這里認(rèn)證的郵箱必須與 message 中的發(fā)件人郵箱一致, 否則報(bào)錯(cuò)
    transport.connect(mailInfo.getSendEmailAccount(), mailInfo.getSendEmailPassword());

    // 6. 發(fā)送郵件, 發(fā)到所有的收件地址, message.getAllRecipients() 獲取到的是在創(chuàng)建郵件對(duì)象時(shí)添加的所有收件人, 抄送人, 密送人
    transport.sendMessage(message, message.getAllRecipients());

    // 7. 關(guān)閉連接
    transport.close();
  }

	
  public MimeMessage createMimeMessage(Session session, MailInfo mailInfo) throws Exception {
    // 1. 創(chuàng)建一封郵件
    MimeMessage message = new MimeMessage(session);

    // 2. From: 發(fā)件人(昵稱(chēng)有廣告嫌疑,避免被郵件服務(wù)器誤認(rèn)為是濫發(fā)廣告以至返回失敗,請(qǐng)修改昵稱(chēng))
    message.setFrom(new InternetAddress(mailInfo.getSendEmailAccount(), mailInfo.getSendPersonName(), "UTF-8"));

    // 3. To: 收件人(可以增加多個(gè)收件人、抄送、密送)
    message.setRecipient(MimeMessage.RecipientType.TO,
        new InternetAddress(mailInfo.getReceiveMailAccount(), mailInfo.getReceivePersonName(), "UTF-8"));

    // 4. Subject: 郵件主題(標(biāo)題有廣告嫌疑,避免被郵件服務(wù)器誤認(rèn)為是濫發(fā)廣告以至返回失敗,請(qǐng)修改標(biāo)題)
    message.setSubject(mailInfo.getMailTitle(), "UTF-8");

    // 5. Content: 郵件正文(可以使用html標(biāo)簽)(內(nèi)容有廣告嫌疑,避免被郵件服務(wù)器誤認(rèn)為是濫發(fā)廣告以至返回失敗,請(qǐng)修改發(fā)送內(nèi)容)
    message.setContent(mailInfo.getMailContent(), "text/html;charset=UTF-8");

    // 6. 設(shè)置發(fā)件時(shí)間
    message.setSentDate(new Date());

    // 7. 保存設(shè)置
    message.saveChanges();

    return message;
  }

}


總結(jié)

到此這篇關(guān)于Java實(shí)現(xiàn)郵箱發(fā)送功能(阿里云郵箱推送)的文章就介紹到這了,更多相關(guān)Java郵箱發(fā)送(阿里云郵箱推送)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Springmvc數(shù)據(jù)回顯實(shí)現(xiàn)原理實(shí)例解析

    Springmvc數(shù)據(jù)回顯實(shí)現(xiàn)原理實(shí)例解析

    這篇文章主要介紹了Springmvc數(shù)據(jù)回顯實(shí)現(xiàn)原理實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Java接口冪等性設(shè)計(jì)原理解析

    Java接口冪等性設(shè)計(jì)原理解析

    這篇文章主要介紹了Java接口冪等性設(shè)計(jì)原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • java GUI實(shí)現(xiàn)五子棋游戲

    java GUI實(shí)現(xiàn)五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了java GUI實(shí)現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Spring中RedisTemplate的基本使用淺析

    Spring中RedisTemplate的基本使用淺析

    Spring Boot Data(數(shù)據(jù)) Redis中提供了RedisTemplate和StringRedisTemplate,其中StringRedisTemplate是RedisTemplate的子類(lèi),兩個(gè)方法基本一致。本文介紹了Spring操作Redis的方法,需要的可以參考一下
    2023-02-02
  • Idea jdk版本問(wèn)題解決方案

    Idea jdk版本問(wèn)題解決方案

    這篇文章主要介紹了Idea jdk版本問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 淺談利用Session防止表單重復(fù)提交

    淺談利用Session防止表單重復(fù)提交

    這篇文章主要介紹了淺談利用Session防止表單重復(fù)提交,簡(jiǎn)單介紹表單重復(fù)提交的情況,分析,以及解決方法代碼示例,具有一定借鑒價(jià)值,需要的朋友可以了解下。
    2017-12-12
  • java類(lèi)的組成結(jié)構(gòu)詳解

    java類(lèi)的組成結(jié)構(gòu)詳解

    大家好,本篇文章主要講的是java類(lèi)的組成結(jié)構(gòu)詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Java基礎(chǔ)之Object類(lèi)詳解

    Java基礎(chǔ)之Object類(lèi)詳解

    這篇文章主要介紹了Java基礎(chǔ)之Object類(lèi)詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-05-05
  • Java swing實(shí)現(xiàn)酒店管理系統(tǒng)

    Java swing實(shí)現(xiàn)酒店管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java swing實(shí)現(xiàn)酒店管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • IDEA將Maven項(xiàng)目中指定文件夾下的xml等文件編譯進(jìn)classes的方法

    IDEA將Maven項(xiàng)目中指定文件夾下的xml等文件編譯進(jìn)classes的方法

    這篇文章主要介紹了IDEA將Maven項(xiàng)目中指定文件夾下的xml等文件編譯進(jìn)classes的方法,幫助大家更好的利用IDEA進(jìn)行Java的開(kāi)發(fā)學(xué)習(xí),感興趣的朋友可以了解下
    2021-01-01

最新評(píng)論

乌审旗| 海城市| 田东县| 府谷县| 西贡区| 丰宁| 黔西县| 栾城县| 汤阴县| 横山县| 米泉市| 鄄城县| 东城区| 和平县| 延长县| 海丰县| 乐清市| 芜湖县| 囊谦县| 马尔康县| 叶城县| 太保市| 勐海县| 蓬安县| 隆子县| 正镶白旗| 遂平县| 鲁甸县| 高陵县| 库伦旗| 泗水县| 西安市| 黄平县| 汝南县| 沧源| 新兴县| 蓝田县| 屏南县| 平利县| 巢湖市| 当雄县|