,最近發(fā)現(xiàn)書(shū)店項(xiàng)目中沒(méi)有忘記密碼的找回功能,于是決定學(xué)習(xí)相關(guān)知識(shí),但是今天一下午也只會(huì)在本地郵件服務(wù)器上通過(guò)某一賬號(hào)給本地另一個(gè)賬號(hào)發(fā)送郵件,并不能發(fā)送到QQ郵箱或者是163郵箱里面,原因目前還不太清楚,后面再去慢慢了解吧。
對(duì)于目前的需求我是希望點(diǎn)擊忘記密碼之后跳出填寫(xiě)郵箱賬號(hào)的頁(yè)面,在頁(yè)面中輸入自己的郵箱賬號(hào),確定后系統(tǒng)判斷數(shù)據(jù)庫(kù)中是否存在該郵箱,如果存在則發(fā)送6位隨機(jī)數(shù)組成的驗(yàn)證碼給該賬號(hào),跳轉(zhuǎn)到輸入驗(yàn)證碼的頁(yè)面,否則提示郵箱不存在,若驗(yàn)證碼正確則跳轉(zhuǎn)到重置密碼的頁(yè)面,否則給出提示,留在輸入郵箱的頁(yè)面。
首先安裝郵箱服務(wù)器,和Foxmail郵箱管理軟件,最后一個(gè)jar包是放到項(xiàng)目下面的,只需要把里面的jar文件拷過(guò)去了行了。
這兩個(gè)軟件在網(wǎng)上都很容易下載到的,安裝的過(guò)程都是直接下一步,首先需要在工具里面的服務(wù)器設(shè)置設(shè)置一下域名,選擇單域名meetbookstore.com,然后在本地服務(wù)器上添加兩個(gè)賬號(hào)user01@meetbookstore.com和system@meetbookstore.com,完了之后郵箱服務(wù)器不能關(guān)閉就像tomcat服務(wù)器一樣要處于打開(kāi)狀態(tài),然后在Foxmail的賬號(hào)管理中添加這兩個(gè)賬號(hào),服務(wù)器地址都填localhost其它默認(rèn)。可以嘗試用一個(gè)賬號(hào)給另一個(gè)賬號(hào)發(fā)送郵件。
然后就可以編寫(xiě)發(fā)送郵件的方法了
//發(fā)送郵件 /** * * @param to:目的郵箱地址 * @param code:郵件的驗(yàn)證碼 * @throws MessagingException * @throws AddressException */ public static void send(String to,int code) throws Exception { //1、創(chuàng)建連接對(duì)象,連接到郵件服務(wù)器 Properties props=new Properties(); Session session=Session.getInstance(props, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { // TODO Auto-generated method stub return new PasswordAuthentication("system@meetbookstore.com", "111"); } }); //2、創(chuàng)建郵件對(duì)象 Message message=new MimeMessage(session); //設(shè)置發(fā)件人 message.setFrom(new InternetAddress("system@meetbookstore.com")); //設(shè)置收件人 message.setRecipient(RecipientType.TO,new InternetAddress(to)); //設(shè)置郵件的主題 message.setSubject("來(lái)自遇見(jiàn)書(shū)屋的驗(yàn)證郵件"); //設(shè)置郵件正文,內(nèi)容,文件類(lèi)型 message.setContent("<h1>來(lái)自遇見(jiàn)書(shū)屋的驗(yàn)證郵件</h1><h3>您找回遇見(jiàn)書(shū)屋密碼的驗(yàn)證碼為:"+code+",如非本人操作,請(qǐng)忽略此郵件。--遇見(jiàn)書(shū)屋團(tuán)隊(duì)</h3>", "text/html;charset=UTF-8"); //3、發(fā)送一封帶驗(yàn)證碼的郵件 Transport.send(message); }
注意引入的類(lèi)出現(xiàn)相同類(lèi)名的都選擇下面的Mail那一個(gè)
import java.util.Properties; import java.util.Random; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.Message.RecipientType; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage;
然后編寫(xiě)測(cè)試方法
public static void main(String[] args) throws Exception { Random random=new Random(); int num=Math.abs(random.nextInt()); num=num%900000+100000; send("user01@meetbookstore.com",num); }
num變量是隨機(jī)生成的6位數(shù)的驗(yàn)證碼,system@meetbookstore.com是發(fā)送方,密碼為111,接收方是user01@meetbookstore.com
網(wǎng)頁(yè)名稱:JavaMail給本地郵箱發(fā)郵件
網(wǎng)頁(yè)鏈接:http://www.rwnh.cn/article44/cgjpee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷(xiāo)推廣、域名注冊(cè)、網(wǎng)站設(shè)計(jì)公司、品牌網(wǎng)站設(shè)計(jì)、面包屑導(dǎo)航、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)