亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

基于JavaMail實現郵件發送

2024-07-14 08:40:08
字體:
來源:轉載
供稿:網友

通過javamail 實現發送郵件,供大家參考,具體內容如下

注意:服務器有些端口是沒有開放的 需要去開放端口。 有些郵箱是需要開啟對應授權服務的。

1.maven依賴:

<!-- https://mvnrepository.com/artifact/javax.mail/javax.mail-api --> <dependency >    <groupId >javax.mail </groupId >    <artifactId >mail </artifactId >    <version >1.4.5 </version >  </dependency >  <dependency >    <groupId >com.sun.mail </groupId >    <artifactId >javax.mail </artifactId >    </dependency >  

2.新建個實體類 用來保存信息

import java.util.Properties; public class MailSenderInfo {    // 發送郵件的服務器的IP(或主機地址)    private String mailServerHost;    // 發送郵件的服務器的端口    private String mailServerPort;    // 發件人郵箱地址    private String fromAddress;    // 收件人郵箱地址    private String toAddress;    // 登陸郵件發送服務器的用戶名    private String userName;    // 登陸郵件發送服務器的密碼    private String password;    // 是否需要身份驗證    private boolean validate = true;    // 郵件主題    private String subject;    // 郵件的文本內容    private String content;    // 郵件附件的文件名    private String[] attachFileNames;        public Properties getProperties() {    Properties p = new Properties();    p.put("mail.smtp.host", this.mailServerHost);    p.put("mail.smtp.port", this.mailServerPort);    //設置是否安全驗證,默認為false,一般情況都設置為true    p.put("mail.smtp.auth", "true");     p.put("mail.smtp.starttls.enable","true");     p.put("mail.smtp.EnableSSL.enable","true");    return p;    }    public String getMailServerHost() {    return mailServerHost;    }    public void setMailServerHost(String mailServerHost) {    this.mailServerHost = mailServerHost;    }    public String getMailServerPort() {    return mailServerPort;    }    public void setMailServerPort(String mailServerPort) {    this.mailServerPort = mailServerPort;    }    public boolean isValidate() {    return validate;    }    public void setValidate(boolean validate) {    this.validate = validate;    }    public String[] getAttachFileNames() {    return attachFileNames;    }    public void setAttachFileNames(String[] fileNames) {    this.attachFileNames = fileNames;    }    public String getFromAddress() {    return fromAddress;    }    public void setFromAddress(String fromAddress) {    this.fromAddress = fromAddress;    }    public String getPassword() {    return password;    }    public void setPassword(String password) {    this.password = password;    }    public String getToAddress() {    return toAddress;    }    public void setToAddress(String toAddress) {    this.toAddress = toAddress;    }    public String getUserName() {    return userName;    }    public void setUserName(String userName) {    this.userName = userName;    }    public String getSubject() {    return subject;    }    public void setSubject(String subject) {    this.subject = subject;    }    public String getContent() {    return content;    }    public void setContent(String textContent) {    this.content = textContent;    } } 

3.創建一個驗證器

import javax.mail.Authenticator; import javax.mail.PasswordAuthentication;  /**  * 郵件用戶名和密碼認證器  */ public class MyAuthenticator extends Authenticator{    String userName = null;    String password = null;    public MyAuthenticator() {    }    public MyAuthenticator(String username, String password) {    this.userName = username;    this.password = password;    }    protected PasswordAuthentication getPasswordAuthentication() {    return new PasswordAuthentication(userName, password);    } } 

4.在調用的地方給實體類賦值

private void email(HttpSession session, String email) {     // 設置郵件服務器信息     MailSenderInfo mailInfo = new MailSenderInfo();     mailInfo.setMailServerHost("smtp-mail.outlook.com");// 發送郵件的服務器的IP(或主機地址)     mailInfo.setMailServerPort("587");//有些端口在服務器上是沒開放的 這里需要注意下     mailInfo.setValidate(true);     // 郵箱用戶名(根據自己情況設置) 這里可以多弄幾個郵箱過來 避免郵箱賬號需要驗證 或者被當成垃圾郵件封號 A失敗就用B     mailInfo.setUserName("此處填寫跟上面發送郵件服務器對應的郵箱");     // 郵箱密碼(根據自己情況設置)     mailInfo.setPassword("這是你的密碼");     // 發件人郵箱(根據自己情況設置,如果你沒對郵箱進行特別設置,應該和郵箱用戶名一致)     mailInfo.setFromAddress("這里跟上面一樣");     // 收件人郵箱(根據自己情況設置)     mailInfo.setToAddress(email);     // 郵件標題     mailInfo.setSubject("我是標題");     // 郵件內容     mailInfo.setContent("我是內容,正經的內容不是垃圾郵箱");     // 發送郵件     SimpleMailSender sms = new SimpleMailSender();     // 發送文體格式     sms.sendTextMail(mailInfo);   } 

5.這里才是真正的發送郵件

public class SimpleMailSender {   public boolean sendTextMail(MailSenderInfo mailInfo) {      // 判斷是否需要身份認證      MyAuthenticator authenticator = null;      Properties pro = mailInfo.getProperties();      if (mailInfo.isValidate()) {       // 如果需要身份認證,則創建一個密碼驗證器       authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());      }      // 根據郵件會話屬性和密碼驗證器構造一個發送郵件的session      Session sendMailSession = Session.getDefaultInstance(pro, authenticator);      try {       // 根據session創建一個郵件消息       Message mailMessage = new MimeMessage(sendMailSession);       // 創建郵件發送者地址       Address from = new InternetAddress(mailInfo.getFromAddress());       // 設置郵件消息的發送者       mailMessage.setFrom(from);       // 創建郵件的接收者地址,并設置到郵件消息中       Address to = new InternetAddress(mailInfo.getToAddress());       mailMessage.setRecipient(Message.RecipientType.TO, to);       // 設置郵件消息的主題       mailMessage.setSubject(mailInfo.getSubject());       // 設置郵件消息發送的時間       mailMessage.setSentDate(new Date());       // 設置郵件消息的主要內容       String mailContent = mailInfo.getContent();       mailMessage.setText(mailContent);       mailMessage.saveChanges();       // 發送郵件       Transport.send(mailMessage);       return true;      } catch (MessagingException ex) {       ex.printStackTrace();      }      return false;      } } 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
都市激情亚洲色图| 97香蕉久久超级碰碰高清版| 久久久精品国产| 亚洲国产小视频在线观看| 久久久精品免费| 国产中文欧美精品| 在线视频亚洲欧美| 精品高清一区二区三区| 欧美视频二区36p| 韩日欧美一区二区| 欧美专区在线观看| 欧美视频专区一二在线观看| 久久久噜噜噜久噜久久| 欧美大尺度激情区在线播放| 久久精品国产亚洲7777| 久久久av电影| 亚洲免费一级电影| 一本一本久久a久久精品牛牛影视| 成人美女av在线直播| 成人福利视频网| 精品国产91久久久久久| 91中文字幕一区| 97国产成人精品视频| 国产午夜精品全部视频播放| 国产91在线播放精品91| 日韩在线视频观看正片免费网站| 亚洲在线免费观看| 国产成人精品一区| 欧洲s码亚洲m码精品一区| 成人黄色在线观看| 国产精品成av人在线视午夜片| 亚洲图片在区色| 久久久久久久国产精品| 97在线视频国产| 国产精品一区二区av影院萌芽| 亚洲日韩欧美视频| 久色乳综合思思在线视频| 91精品国产91久久久久福利| 最近2019年好看中文字幕视频| 国产精品丝袜久久久久久高清| 欧美一区深夜视频| 国产精品h片在线播放| 福利二区91精品bt7086| 欧美黑人性猛交| 91老司机精品视频| 红桃av永久久久| 亚洲免费高清视频| 日韩成人在线观看| 国产69久久精品成人看| 亚洲美女免费精品视频在线观看| 国产精品扒开腿做爽爽爽视频| 日韩精品在线免费观看| 最近的2019中文字幕免费一页| 日本欧美精品在线| 91精品国产综合久久香蕉的用户体验| 国语自产偷拍精品视频偷| 日韩一区二区精品视频| 国产精品嫩草视频| 一个人www欧美| 欧美大肥婆大肥bbbbb| 97超级碰碰人国产在线观看| 国产日本欧美一区二区三区在线| 国产精品天天狠天天看| 国产精品自产拍高潮在线观看| 国产精自产拍久久久久久| 91在线视频免费| 日本一区二三区好的精华液| 欧美日韩国产黄| 97国产真实伦对白精彩视频8| 91久久精品一区| 色婷婷综合久久久久| 91精品国产乱码久久久久久蜜臀| 555www成人网| 国产精品678| 国产精品高精视频免费| 97视频免费在线观看| 国产视频观看一区| 欧美性受xxxx白人性爽| 在线日韩日本国产亚洲| 成人亚洲综合色就1024| 成人欧美一区二区三区在线| 96精品视频在线| 亚洲国产另类 国产精品国产免费| 日韩av中文字幕在线播放| 欧美激情xxxx性bbbb| 欧美成人一区二区三区电影| 国产精品v片在线观看不卡| 亚洲国产精品中文| 亚洲码在线观看| 欧美在线观看一区二区三区| 亚洲综合在线播放| 亚洲自拍偷拍在线| 日日狠狠久久偷偷四色综合免费| 91国在线精品国内播放| 国产精品h片在线播放| 亚洲欧洲成视频免费观看| 日韩精品欧美国产精品忘忧草| 国产91精品久久久久久| 久久精品亚洲国产| 日韩av片电影专区| 成人免费xxxxx在线观看| 粗暴蹂躏中文一区二区三区| 欧美黑人性猛交| 日韩精品在线观看网站| 色综合伊人色综合网站| 日韩中文字幕网站| 欧美激情亚洲另类| 欧美中文字幕第一页| 亚洲人成电影网站色www| 91精品久久久久久久久久久久久久| 欧美成人小视频| 欧美大荫蒂xxx| 91视频-88av| 91av在线视频观看| 国产日韩欧美自拍| 韩国精品久久久999| 亚洲精品不卡在线| 国产97色在线|日韩| 精品中文字幕在线2019| 国产成人精品在线播放| 日韩免费看的电影电视剧大全| 亚洲国产精品大全| 青青在线视频一区二区三区| 亚洲国产精品久久久久秋霞不卡| 色爱av美腿丝袜综合粉嫩av| 欧美成人免费视频| 国产经典一区二区| 中文字幕亚洲一区二区三区五十路| 亚洲欧洲第一视频| 国产精品99久久久久久人| 九九精品视频在线观看| 久久精品在线播放| 国产亚洲精品久久久久久777| 日韩av影片在线观看| 日韩中文字幕视频在线| 欧美孕妇与黑人孕交| 欧美wwwwww| 狠狠躁夜夜躁人人爽超碰91| 日韩**中文字幕毛片| 91性高湖久久久久久久久_久久99| 亚洲精品国产拍免费91在线| 国产精品99导航| 欧美电影免费观看高清| 久久99久久99精品中文字幕| 黑人狂躁日本妞一区二区三区| 成人字幕网zmw| 日韩成人av网| 欧美成人四级hd版| 成人性生交大片免费看小说| 国产精品老牛影院在线观看| 日韩精品免费综合视频在线播放| 欧美巨猛xxxx猛交黑人97人| 91亚洲va在线va天堂va国| 国产精品va在线播放| 日韩成人在线免费观看| 欧美一级片一区| 欧美国产视频日韩| 人体精品一二三区| 日韩女优在线播放| 亚洲国模精品一区| 57pao成人永久免费视频| 色噜噜狠狠狠综合曰曰曰88av| 亚洲欧美中文日韩在线| 川上优av一区二区线观看|