java實(shí)現(xiàn)發(fā)送郵件的示例代碼
更新時(shí)間:2020年07月08日 11:48:33 作者:布諾
這篇文章主要介紹了java如何實(shí)現(xiàn)發(fā)送郵件,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
代碼
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;
import javax.mail.Session;
import javax.mail.MessagingException;
import javax.mail.Transport;
/**
* @author BuNuo
*/
public class SendHtmlMail {
/**
* @param to 郵件接收者
* @param subject 郵件主題
* @param messageText 郵件內(nèi)容,可以是html代碼
* @throws MessagingException
* @throws java.io.UnsupportedEncodingException
*/
public static void sendMessage(String to, String subject, String messageText)
throws MessagingException, java.io.UnsupportedEncodingException {
// Step 1: Configure the mail session
String from = "******"; //發(fā)送郵件的賬號
String password = "******"; //Password
String smtpHost = "smtp.163.com"; //SMTP服務(wù)器
java.util.Properties props = new java.util.Properties();
props.setProperty("mail.smtp.auth", "true");// 指定是否需要SMTP驗(yàn)證
props.setProperty("mail.smtp.host", smtpHost);// 指定SMTP服務(wù)器
props.put("mail.transport.protocol", "smtp");
Session mailSession = Session.getDefaultInstance(props);
mailSession.setDebug(false);// 是否在控制臺顯示debug信息
// Step 2: Construct the message
System.out.println("Constructing message - from=" + from + " to=" + to);
InternetAddress fromAddress = new InternetAddress(from);
InternetAddress toAddress = new InternetAddress(to);
MimeMessage testMessage = new MimeMessage(mailSession);
testMessage.setFrom(fromAddress);
testMessage.addRecipient(javax.mail.Message.RecipientType.TO, toAddress);
testMessage.setSentDate(new java.util.Date());
testMessage.setSubject(MimeUtility.encodeText(subject, "gb2312", "B"));
testMessage.setContent(messageText, "text/html;charset=gb2312");
System.out.println("Message constructed");
// Step 3: Now send the message
Transport transport = mailSession.getTransport("smtp");
transport.connect(smtpHost, from, password);
transport.sendMessage(testMessage, testMessage.getAllRecipients());
transport.close();
System.out.println("Message sent!");
}
}
測試代碼
String to = "173××××0190@163.com";
System.out.println("to=:"+to);
String subject = "郵件測試"; // subject javamail自動轉(zhuǎn)碼
StringBuffer message = new StringBuffer();
message.append("<table style='margin: 25px auto;' border='0' cellspacing='0' cellpadding='0' width='648' align='center'>");
message.append("<tbody>");
message.append("<tr><td style='color:#40AA53;'><h1 style='margin-bottom:10px;'>bjcodes</h1></td></tr>");
message.append("<tr>");
message.append("<td style='border-left: 1px solid #D1FFD1; padding: 20px 20px 0px; background: none repeat scroll 0% 0% #ffffff; border-top: 5px solid #40AA53; border-right: 1px solid #D1FFD1;'>");
message.append("<p>HelloWorld, 你好 </p>");
message.append("</td>");
message.append("</tr>");
message.append("<tr>");
message.append("<td style='border-left: 1px solid #D1FFD1; padding: 10px 20px; background: none repeat scroll 0% 0% #ffffff; border-right: 1px solid #D1FFD1;'>");
message.append("<p>您已經(jīng)成功為<strong>bjcodes</strong>會員!</p>");
message.append("<p style='font-weight:bold'>請點(diǎn)擊以下鏈接:<br>");
message.append("<a );
message.append("</td>");
message.append("</tr>");
message.append("<tr>");
message.append("<td style='border-bottom: 1px solid #D1FFD1; border-left: 1px solid #D1FFD1; padding: 0px 20px 20px; background: none repeat scroll 0% 0% #ffffff; border-right: 1px solid #D1FFD1;'>");
message.append("<p><img title='微信二維碼' src='http://bjcodes.com/images/code.jpg' alt=''></p>");
message.append("<p style='color:#060;font-size:9pt;'>掃一掃,關(guān)注 bjcodes 微信公共號,更方便獲知每日精彩推薦</p>");
message.append("<p style='color:#060;font-size:9pt;'>想了解更多信息,請?jiān)L問 <a target='_blank'>http://www.bjcodes.com</a></p>");
message.append("</td>");
message.append("</tr>");
message.append("</tbody>");
message.append("</table>");
message.append("<style type='text/css'>");
message.append("body{font-size:14px;font-family:arial,verdana,sans-serif;line-height:1.666;padding:0;margin:0;overflow:auto;white-space:normal;word-wrap:break-word;min-height:100px}");
message.append("td, input, button, select, body{font-family:Helvetica, 'Microsoft Yahei', verdana}");
message.append("pre {white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;width:95%}");
message.append("th,td{font-family:arial,verdana,sans-serif;line-height:1.666}");
message.append("img{ border:0}");
message.append("header,footer,section,aside,article,nav,hgroup,figure,figcaption{display:block}");
message.append("</style>");
message.append("<style id='ntes_link_color' type='text/css'>a,td a{color:#064977}</style>");
try {
SendHtmlMail.sendMessage(to, subject,message.toString());
} catch (javax.mail.MessagingException exc) {
exc.printStackTrace();
} catch (java.io.UnsupportedEncodingException exc) {
exc.printStackTrace();
}
測試結(jié)果

以上就是java實(shí)現(xiàn)發(fā)送郵件的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于JAVA 發(fā)送郵件的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
學(xué)會IDEA REST Client后就可以丟掉postman了
這篇文章主要介紹了學(xué)會IDEA REST Client后就可以丟掉postman了,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
java設(shè)計(jì)模式之觀察者模式學(xué)習(xí)
這篇文章主要為大家詳細(xì)介紹了java設(shè)計(jì)模式之觀察者模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
java jackson 將對象轉(zhuǎn)json時(shí),忽略子對象的某個(gè)屬性操作
這篇文章主要介紹了java jackson 將對象轉(zhuǎn)json時(shí),忽略子對象的某個(gè)屬性操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
Java中system.exit(0) 和 system.exit(1)區(qū)別
本文主要介紹了Java中system.exit(0) 和 system.exit(1)區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05

