国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

java實現(xiàn)郵件發(fā)送詳解

瀏覽:4日期:2022-09-03 15:36:37

java實現(xiàn)郵件發(fā)送邏輯并不復(fù)雜(不包含附件),只是根據(jù)官方調(diào)用官方提供的sdk,首先需要引入maven依賴:

javax.mail

<dependency > <groupId >com.sun.mail</groupId > <artifactId >javax.mail</artifactId > <version >1.6.0</version ></dependency >

然后構(gòu)造發(fā)送郵件所需的實體類

package com.email;import java.io.Serializable;/** * @Author zjt * @Date 2019年03月07 10:37 */public class EmailEntity implements Serializable { private static final long serialVersionUID = 1L; //郵箱服務(wù)器地址 private String host; //主機(jī)端口 private Integer port; //發(fā)送者的郵箱賬號 private String userName; //發(fā)送者的密碼 private String password; //發(fā)送者的郵箱地址 private String fromAddress; //接收者的郵箱地址 private String toAddress; //設(shè)置郵件主題 private String subject; //設(shè)置郵件內(nèi)容 private String context; //設(shè)置郵件類型 private String contextType; public String getHost() { return host; } public void setHost(String host) { this.host = host; } public Integer getPort() { return port; } public void setPort(Integer port) { this.port = port; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getFromAddress() { return fromAddress; } public void setFromAddress(String fromAddress) { this.fromAddress = fromAddress; } public String getToAddress() { return toAddress; } public void setToAddress(String toAddress) { this.toAddress = toAddress; } public String getSubject() { return subject; } public void setSubject(String subject) { this.subject = subject; } public String getContext() { return context; } public void setContext(String context) { this.context = context; } public String getContextType() { return contextType; } public void setContextType(String contextType) { this.contextType = contextType; }}

其次,編寫調(diào)用郵件發(fā)送方法

package com.email;import javax.mail.*;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import java.util.*;/** * @Author zjt * @Date 2019年03月07 10:38 */public class EmailSend { public static boolean EmailSendTest(EmailEntity emailEntity){ try { //配置文件 Properties properties = new Properties(); properties.put('mail.smtp.auth', 'true'); properties.put('mail.smtp.host', emailEntity.getHost()); properties.put('mail.smtp.port', 25); properties.put('mail.smtp.starrttls.enable', 'true'); //創(chuàng)建會話 VerifyEmail verifyEmail = new VerifyEmail(emailEntity.getUserName(), emailEntity.getPassword()); Session mailSession = Session.getInstance(properties, verifyEmail); mailSession.setDebug(true); //創(chuàng)建信息對象 Message message = new MimeMessage(mailSession); InternetAddress from = new InternetAddress(emailEntity.getFromAddress()); InternetAddress to = new InternetAddress(emailEntity.getToAddress()); //設(shè)置郵件信息的來源 message.setFrom(from); //設(shè)置郵件的接收者 message.setRecipient(MimeMessage.RecipientType.TO, to); message.setSubject(emailEntity.getSubject()); //設(shè)置郵件發(fā)送日期 message.setSentDate(new Date()); //設(shè)置郵件內(nèi)容 message.setContent(emailEntity.getContext() , emailEntity.getContextType()); message.saveChanges(); //發(fā)送郵件 Transport transport = mailSession.getTransport('smtp'); transport.connect(emailEntity.getHost(), emailEntity.getUserName(), emailEntity.getPassword()); System.out.println('發(fā)送:' + transport); transport.sendMessage(message, message.getAllRecipients()); System.out.println('success'); return true; } catch (MessagingException e) { e.printStackTrace(); System.out.println('fial...'); return false; } }}

在調(diào)用郵件發(fā)送方法中使用到驗證郵箱登錄名和密碼是否正確的方法

package com.email;import javax.mail.Authenticator;import javax.mail.PasswordAuthentication;/** * 驗證郵箱 * @Author zjt * @Date 2019年03月07 10:32 */public class VerifyEmail extends Authenticator { //賬號 private String userName; //密碼 private String password; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } //構(gòu)造方法 public VerifyEmail(){ super(); } public VerifyEmail(String userName, String password) { super(); this.userName = userName; this.password = password; } protected PasswordAuthentication getPasswordAuthentication(){ return new PasswordAuthentication(userName, password); }}

編寫測試類,測試郵件發(fā)送方法是否成功

package com.email;import org.junit.jupiter.api.Test;/** * @Author zjt * @Date 2019年03月07 10:26 */public class TestEmail { @Test public void test(){ EmailEntity email = new EmailEntity(); email.setUserName('*******@163.com'); email.setPassword('******'); email.setHost('smtp.163.com'); email.setPort(25); email.setFromAddress('******@163.com'); email.setToAddress('******@163.com'); email.setSubject('這是一封測試郵件!!!!'); email.setContext('看看這是什么'); email.setContextType('text/html;charset=utf-8'); boolean flag = EmailSend.EmailSendTest(email); System.err.println('郵件發(fā)送結(jié)果=='+flag); }}

在這里測試的163郵箱發(fā)送,需要注意的是,此處的密碼不是登錄密碼呦,而是設(shè)置中客戶端授權(quán)密碼呦。

java實現(xiàn)郵件發(fā)送詳解

執(zhí)行測試文件之后,可以登錄郵箱看到發(fā)送的結(jié)果

java實現(xiàn)郵件發(fā)送詳解

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 日本精品高清一区二区2021 | 色天使色婷婷在线影院亚洲 | 国产高清厕所盗摄视频 | 国产精品久久在线 | 特级aaa片毛片免费观看 | 韩国特级毛片 | chinese多姿势videos | 亚洲午夜免费 | 全部在线播放免费毛片 | 国产成人免费影片在线观看 | 看久久久久毛片婷婷色 | 一级美女视频 | 一区二区伦理 | 欧美另类视频在线 | 国产午夜一级淫片 | 特级aaaaaaaaa毛片免费视频 | 国产粉嫩高中生无套第一次 | 欧美亚洲日本国产 | a成人在线 | 国产视频99 | 国产91精品久久久久久久 | 国产视频a区 | 欧美一级视频在线高清观看 | 亚洲视频在线播放 | 欧美另类色 | 成人看片黄a免费 | 男人把女人桶到喷白浆的视频 | 成年男女拍拍拍免费视频 | 国产一级一级一级成人毛片 | 日本三级网站在线线观看 | 久久福利青草精品资源站 | 欧美一级毛片aaaaa | 97干干干 | 一级美国片免费看 | 成人第一页| 欧美成人免费看片一区 | 亚洲一区二区精品视频 | 在线观看亚洲专区 | 一区二区播放 | 一级毛片在线 | 中文字幕无线码中文字幕网站 |