最近公司開始做新項(xiàng)目了,剛好有做這個(gè)郵箱驗(yàn)證功能,不多說,直接上代碼:
創(chuàng)新互聯(lián)長期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為金口河企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站制作,金口河網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。public static final String SMTPSERVER = "smtp.163.com";//郵箱服務(wù)器地址(用QQ還是網(wǎng)易看需求,我這里用的是網(wǎng)易郵箱) public static final String SMTPPORT = "465"; //郵箱服務(wù)器默認(rèn)端口 public static final String ACCOUT = "hgzlgl2017@163.com";//郵箱帳號(hào) public static final String PWD = "******";//這是授權(quán)碼,并不是郵箱的登錄密碼
首先是定義幾個(gè)重要的變量,其中第一第二個(gè)都是官方指定的,一般不能改變,值得注意的是最后一個(gè)PWD變量指的是授權(quán)碼,并不是郵箱的登錄密碼,也就是你在開通這個(gè)smtp服務(wù)的時(shí)候設(shè)置的,至于如何開啟這個(gè)smtp服務(wù),大家百度一下就行了,很簡單的。我剛開始就是把這個(gè)授權(quán)碼寫成了郵箱的登錄密碼,一直連不上,搞了我很久才明白的,希望大家不要步我的后塵。然后:
public static void main(String[] args) throws Exception { // 創(chuàng)建郵件配置 Properties props = new Properties(); props.setProperty("mail.transport.protocol", "smtp"); // 使用的協(xié)議(JavaMail規(guī)范要求) props.setProperty("mail.smtp.host", SMTPSERVER); // 發(fā)件人的郵箱的 SMTP 服務(wù)器地址 props.setProperty("mail.smtp.port", SMTPPORT); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.setProperty("mail.smtp.auth", "true"); // 需要請(qǐng)求認(rèn)證 props.setProperty("mail.smtp.ssl.enable", "true");// 開啟ssl // 根據(jù)郵件配置創(chuàng)建會(huì)話,注意session別導(dǎo)錯(cuò)包 Session session = Session.getDefaultInstance(props); // 開啟debug模式,可以看到更多詳細(xì)的輸入日志 session.setDebug(true); //創(chuàng)建郵件 MimeMessage message = createEmail(session); //獲取傳輸通道 Transport transport = session.getTransport(); transport.connect(SMTPSERVER,ACCOUT, PWD); //連接,并發(fā)送郵件 transport.sendMessage(message, message.getAllRecipients()); transport.close(); }
這里需要注意的主要是郵件的配置,其他的照搬代碼就可以了,最后:
public static MimeMessage createEmail(Session session) throws Exception { // 根據(jù)會(huì)話創(chuàng)建郵件 MimeMessage msg = new MimeMessage(session); // address郵件地址, personal郵件昵稱, charset編碼方式 InternetAddress fromAddress = new InternetAddress(ACCOUT, "廣西宏桂資產(chǎn)租賃有限公司", "utf-8"); // 設(shè)置發(fā)送郵件方 msg.setFrom(fromAddress); InternetAddress receiveAddress = new InternetAddress( "3386173538@qq.com", "郵箱驗(yàn)證", "utf-8"); // 設(shè)置郵件接收方 msg.setRecipient(RecipientType.TO, receiveAddress); // 設(shè)置郵件標(biāo)題 msg.setSubject("郵箱驗(yàn)證", "utf-8"); //msg.setContent(m,"text/html;charset=gb2312"); msg.setText("我是個(gè)程序員,一天我坐在路邊一邊喝水一邊苦苦檢查程序。 這時(shí)一個(gè)乞丐在我邊上坐下了,開始要飯,我覺得可憐,就給了他1塊錢。 然后接著調(diào)試程序。他可能生意不好,就無聊的看看我在干什么,然后過了一會(huì),他緩緩地指著我的屏幕說,這里少了個(gè)分號(hào)"); // 設(shè)置顯示的發(fā)件時(shí)間 msg.setSentDate(new Date()); // 保存設(shè)置 msg.saveChanges(); return msg; }
這個(gè)方法是用來創(chuàng)建郵箱的。我之前做的時(shí)候遇到了三個(gè)問題,一個(gè)是我注冊(cè)的郵箱的smtp服務(wù)沒有開啟,別一個(gè)就是授權(quán)碼弄錯(cuò)了,還有一個(gè)就是我用的是Myeclipse8.5開發(fā)工具,這個(gè)工具不支持javaee6,而這個(gè)郵箱驗(yàn)證功能需要用到的是javaee6,所以我用的javaee5就報(bào)了異常,于是我把javaee5移除remove掉,自己在工程下創(chuàng)建一個(gè)文件夾,然后把javaee6這里面的jar包全復(fù)制進(jìn)去,然后再添加到路徑,這樣就可以了。
文章名稱:java郵箱驗(yàn)證測(cè)試類的實(shí)現(xiàn)
URL鏈接:http://muchs.cn/article20/cghdco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、企業(yè)網(wǎng)站制作、網(wǎng)站內(nèi)鏈、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站制作、Google
聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容