国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java HtmlEmail 郵件發(fā)送的簡單實(shí)現(xiàn)代碼

2020-03-24 16:00:27
字體:
供稿:網(wǎng)友
Java 項目中常?;赜龅桨l(fā)送郵件Java 發(fā)送郵件有幾種,今天先給大家介紹用 HtmlEmail 來發(fā)送郵件,我這里是用 Maven 來搭建的HtmlEmail 可以抄帶HTML首先 需要導(dǎo)入jar 包 dependency groupId org.apache.commons /groupId artifactId commons-email /artifactId version 1.4 /version /dependency 然后我們來建立一個發(fā)送郵件的 Mail 類 JavaBeanhtml' target='_blank'>public class Mail implements Serializable{ private static final long serialVersionUID = -6390720891150157552L; public static final String ENCODEING = "UTF-8"; // 服務(wù)器地址 private String host; // 發(fā)件人的郵箱 private String sender; // 發(fā)件人昵稱 private String name; // 賬號 private String username; // 密碼 private String password; // 收件人的郵箱 private String receiver; // 收件人的名稱 private String receiverName; // 收件人的郵箱(key)和名稱(value) private Map String, String // 抄送人的郵箱(key)和名稱(value) private Map String, String // 秘密抄送人的郵箱(key)和名稱(value) private Map String, String bcc; // 主題 private String subject; // 信息(支持HTML) private String message; public String getHost() { return host; public void setHost(String host) { this.host = host; public String getSender() { return sender; public void setSender(String sender) { this.sender = sender; public String getReceiver() { return receiver; public void setReceiver(String receiver) { this.receiver = receiver; public String getName() { return name; public void setName(String name) { this.name = name; 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 getSubject() { return subject; public void setSubject(String subject) { this.subject = subject; public String getMessage() { return message; public void setMessage(String message) { this.message = message; public String getReceiverName() { return receiverName; public void setReceiverName(String receiverName) { this.receiverName = receiverName; public Map String, String getTo() { return to; public void setTo(Map String, String to) { this.to = to; public Map String, String getCc() { return cc; public void setCc(Map String, String cc) { this.cc = cc; public Map String, String getBcc() { return bcc; public void setBcc(Map String, String bcc) { this.bcc = bcc;}然后再來創(chuàng)建一個發(fā)送郵件的工具類 MailUtilpublic class MailUtil { public Boolean send(Mail mail){ HtmlEmail email = new HtmlEmail(); try { // 這里是SMTP發(fā)送服務(wù)器的名字:163的如下:"smtp.163.com" email.setHostName(mail.getHost()); // 字符編碼集的設(shè)置 email.setCharset(Mail.ENCODEING); // 發(fā)送人的郵箱 email.setFrom(mail.getSender(), mail.getName()); // 如果需要認(rèn)證信息的話,設(shè)置認(rèn)證:用戶名-密碼。分別為發(fā)件人在郵件服務(wù)器上的注冊名稱和密碼 email.setAuthentication(mail.getUsername(), mail.getPassword()); // 設(shè)置收件人信息 setTo(email, mail); // 設(shè)置抄送人信息 setCc(email, mail); // 設(shè)置密送人信息 setBcc(email, mail); // 要發(fā)送的郵件主題 email.setSubject(mail.getSubject()); // 要發(fā)送的信息,由于使用了HtmlEmail,可以在郵件內(nèi)容中使用HTML標(biāo)簽 email.setHtmlMsg(mail.getMessage()); // 發(fā)送 email.send(); if (Log.isDebugEnabled()) { Log.info(mail.getSender() + " 發(fā)送郵件到 " + mail.getReceiver()); return true; } catch (Exception e) { e.printStackTrace(); Log.info(mail.getSender() + " 發(fā)送郵件到 " + mail.getReceiver() + " 失敗"); return false; * 設(shè)置收件人信息 * @param email * @param mail * @throws EmailException private void setTo(HtmlEmail email, Mail mail) throws EmailException{ // 收件人不為空 if (StringUtils.isNotEmpty(mail.getReceiver())) { // 收件人名稱不為空 if (StringUtils.isNotEmpty(mail.getReceiverName())) { email.addTo(mail.getReceiver(), mail.getReceiverName()); } else { email.addTo(mail.getReceiver()); // 收件人 Map 不為空 if (mail.getTo() != null) { for (Map.Entry String, String entry : mail.getTo().entrySet()) { // 收件人名稱不為空 if (StringUtils.isNotEmpty(entry.getValue())) { email.addTo(entry.getKey(), entry.getValue()); } else { email.addTo(entry.getKey()); * 設(shè)置抄送人信息 * @param email * @param mail * @throws EmailException private void setCc(HtmlEmail email, Mail mail) throws EmailException{ // 抄送人 Map 不為空 if (mail.getCc() != null) { for (Map.Entry String, String entry : mail.getCc().entrySet()) { // 抄送人名稱不為空 if (StringUtils.isNotEmpty(entry.getValue())) { email.addCc(entry.getKey(), entry.getValue()); } else { email.addCc(entry.getKey()); * 設(shè)置密送人信息 * @param email * @param mail * @throws EmailException private void setBcc(HtmlEmail email, Mail mail) throws EmailException{ // 密送人 Map 不為空 if (mail.getBcc() != null) { for (Map.Entry String, String entry : mail.getBcc().entrySet()) { // 密送人名稱不為空 if (StringUtils.isNotEmpty(entry.getValue())) { email.addBcc(entry.getKey(), entry.getValue()); } else { email.addBcc(entry.getKey());}寫到這里,大概也就差不多了,萬里長征只有最后一步了測試,測試,測試這里編寫一個 junit 方法來測試@Test public void sendMail(){ Mail mail = new Mail(); // 設(shè)置郵件服務(wù)器 mail.setHost("smtp.exmail.qq.com"); // 發(fā)件人郵件地址 mail.setSender("chenhao@kezhanbang.cn"); // 發(fā)件人名稱 mail.setName("Java.小學(xué)生"); // 登錄賬號,一般都是和郵箱名一樣吧 mail.setUsername("chenhao@kezhanbang.cn"); // 發(fā)件人郵箱的登錄密碼 mail.setPassword("xxxxxxxx"); // 接收人 mail.setReceiver("huntertochen@163.com"); mail.setReceiverName("我要女票"); mail.setSubject("萬里長征最后一步測試"); String html = " !DOCTYPE html html += " html head meta http-equiv=/"Content-Type/" content=/"text/html; charset=UTF-8/" html += " title Insert title here /title html += " /head body html += " div "width:600px;height:400px;margin:50px auto;/" html += " h1 我來看看郵件是否發(fā)送成功呢 /h1 br/ br/ html += " p 下面是通過該協(xié)議可以創(chuàng)建一個指向電子郵件地址的超級鏈接,通過該鏈接可以在Internet中發(fā)送電子郵件 /p br/ html += " a href=/"mailto:huntereagle@foxmail.com subject=test&cc=huntertochen@163.com&body=use mailto sample/" send mail /a html += " /div html += " /body /html mail.setMessage(html); new MailUtil().send(mail); }趕緊登錄郵箱看看吧來看看這里 主題 內(nèi)容,發(fā)送人名稱和收件人名稱是否和代碼寫的一樣呢,如果一樣的話,恭喜你成功啦到這,其實(shí)發(fā)送郵件就算完了!??!這里在啰嗦最后一個小知識點(diǎn)mailtomailto:通過該協(xié)議可以創(chuàng)建一個指向電子郵件地址的超級鏈接,通過該鏈接可以在Internet中發(fā)送電子郵件我們點(diǎn)擊 send mail 會打開你郵件客戶端一個發(fā)送界面,如果你有寫抄帶信息,也會給你帶上以上這篇Java HtmlEmail 郵件發(fā)送的簡單實(shí)現(xiàn)代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持phpstudy。更多編程語言

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 德保县| 邵武市| 垦利县| 盐源县| 万山特区| 靖宇县| 迭部县| 行唐县| 内黄县| 盈江县| 稻城县| 昭通市| 长乐市| 信宜市| 武义县| 扎赉特旗| 大方县| 改则县| 临安市| 邢台市| 苍山县| 利津县| 长子县| 茶陵县| 泌阳县| 永城市| 九江县| 刚察县| 运城市| 闽清县| 台北市| 元氏县| 海盐县| 宁阳县| 腾冲县| 民县| 大悟县| 塘沽区| 莱阳市| 毕节市| 达日县|