javaweb實現(xiàn)簡易郵件發(fā)送
本文實例為大家分享了javaweb實現(xiàn)簡易郵件發(fā)送的具體代碼,供大家參考,具體內容如下
1.郵件發(fā)送

2.jar包的支持
activation-1.1.1.jar
mail-1.4.7.jar
3.授權碼的獲取

4.簡易文本郵件發(fā)送的實現(xiàn)

由上圖我們可以確定幾個必須步驟
1.創(chuàng)建session對象
2.創(chuàng)建Transport對象
3.使用郵箱的用戶名和授權碼連上郵件服務器
4.創(chuàng)建一個Message對象(需要傳遞session)
- message需要指明發(fā)件人、收件人以及文件內容
5.發(fā)送郵件
6.關閉連接
import com.sun.mail.util.MailSSLSocketFactory;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
public class MailDemo01 {
? ? public static void main(String[] args) throws Exception {
? ? ? ? Properties prop=new Properties();
? ? ? ? prop.setProperty("mail.host","smtp.qq.com");///設置QQ郵件服務器
? ? ? ? prop.setProperty("mail.transport.protocol","smtp");///郵件發(fā)送協(xié)議
? ? ? ? prop.setProperty("mail.smtp.auth","true");//需要驗證用戶密碼
? ? ? ? //QQ郵箱需要設置SSL加密
? ? ? ? MailSSLSocketFactory sf=new MailSSLSocketFactory();
? ? ? ? sf.setTrustAllHosts(true);
? ? ? ? prop.put("mail.smtp.ssl.enable","true");
? ? ? ? prop.put("mail.smtp.ssl.socketFactory",sf);
? ? ? ? //使用javaMail發(fā)送郵件的5個步驟
? ? ? ? //1.創(chuàng)建定義整個應用程序所需要的環(huán)境信息的session對象
? ? ? ? Session session=Session.getDefaultInstance(prop, new Authenticator() {
? ? ? ? ? ? @Override
? ? ? ? ? ? protected PasswordAuthentication getPasswordAuthentication() {
? ? ? ? ? ? ? ? return new PasswordAuthentication("XXXX@qq.com","授權碼");
? ? ? ? ? ? }
? ? ? ? });
? ? ? ? //開啟session的debug模式,這樣可以查看到程序發(fā)送Email的運行狀態(tài)
? ? ? ? session.setDebug(true);
? ? ? ? //2.通過session得到transport對象
? ? ? ? Transport ts=session.getTransport();
? ? ? ? //3.使用郵箱的用戶名和授權碼連上郵件服務器
? ? ? ? ts.connect("smtp.qq.com","XXXX@qq.com","授權碼");
? ? ? ? //4.創(chuàng)建郵件:寫文件
? ? ? ? //注意需要傳遞session
? ? ? ? MimeMessage message=new MimeMessage(session);
? ? ? ? //指明郵件的發(fā)件人
? ? ? ? message.setFrom(new InternetAddress("XXXX@qq.com"));
? ? ? ? //指明郵件的收件人
? ? ? ? message.setRecipient(Message.RecipientType.TO,new InternetAddress("XXXX@qq.com"));
? ? ? ? //郵件標題
? ? ? ? message.setSubject("發(fā)送的標題");
? ? ? ? //郵件的文本內容
? ? ? ? message.setContent("內容","text/html;charset=UTF-8");
? ? ? ? //5.發(fā)送郵件
? ? ? ? ts.sendMessage(message,message.getAllRecipients());
? ? ? ? //6.關閉連接
? ? ? ? ts.close();
? ? }
}以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Spring Security和Shiro的相同點與不同點整理
在本篇文章里小編給大家整理的是關于Spring Security和Shiro的相同不同點整理,需要的朋友們可以參考下。2020-02-02
java 結合jQuery實現(xiàn)跨域名獲取數(shù)據(jù)的方法
下面小編就為大家?guī)硪黄猨ava 結合jQuery實現(xiàn)跨域名獲取數(shù)據(jù)的方法。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05
java Timer測試定時調用及固定時間執(zhí)行代碼示例
這篇文章主要介紹了java Timer測試定時調用及固定時間執(zhí)行代碼示例,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-02-02
Springboot基于enable模塊驅動的實現(xiàn)
這篇文章主要介紹了Springboot基于enable模塊驅動的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08
SpringBoot優(yōu)化啟動速度的方法實現(xiàn)
本篇文章主要介紹了SpringBoot優(yōu)化啟動速度的方法實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01

