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