日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

JavaMail发送邮件的笔记及Demo

發(fā)布時間:2025/3/15 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaMail发送邮件的笔记及Demo 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  最近碰到一個需求,就是注冊用戶時候需要向用戶發(fā)送激活郵箱,于是照著網(wǎng)上搜來的demo自己試著運行了一下,發(fā)件時我用的是網(wǎng)易163郵箱,收件時用QQ郵箱,運行后報了一個錯誤:

網(wǎng)絡(luò)上搜索解決方式,多次嘗試后發(fā)現(xiàn)了問題,原來是我的163郵箱賬號沒有開啟客戶端授權(quán),因此也就沒有開啟SMTP服務(wù),這是無法用javamail程序作為發(fā)件人發(fā)送郵箱的,于是在設(shè)置里開始授權(quán)及服務(wù)之后,滿心歡喜的再次運行,悲哀的是又報了另一個錯誤:

無奈再次開始調(diào)試,最后終于發(fā)現(xiàn)了問題,正如網(wǎng)友說的,因為你驗證的郵箱用戶名和你發(fā)送的時候添寫的郵箱地址不一樣,SMTP服務(wù)器駁回了你的請求,我在驗證的時候使用的我自己的163郵箱,在設(shè)置發(fā)信人的時候,誤把xxxxxx@163.com寫成了xxxxxxx@qq.com(不能忍),改正過來以后,如愿以償,終于可以發(fā)送郵件了,以下是代碼和注釋:

/*** javamail發(fā)郵件* @throws Exception * @throws AddressException */@Testpublic void sendMailDemo() throws Exception{/*** 1.得到session*/// Properties是Session的屬性對象,用于封裝針對SMTP的一些常用屬性Properties props=new Properties();//設(shè)置smtp服務(wù)器地址props.setProperty("mail.host", "smtp.163.com");//設(shè)置SMTP服務(wù)器是否需要用戶認證,默認為false,設(shè)為trueprops.setProperty("mail.smtp.auth", "true");Authenticator auth=new Authenticator() {@Overrideprotected PasswordAuthentication getPasswordAuthentication() {
        //注意:下面的登錄用戶名是@前邊的內(nèi)容,如果你的賬號是haha@163.com,只需要輸入haha
return new PasswordAuthentication("郵件服務(wù)器登錄用戶名", "登錄密碼");}};Session session = Session.getInstance(props,auth);/*** 2.創(chuàng)建MimeMessage*/MimeMessage msg=new MimeMessage(session);//設(shè)置發(fā)件人msg.setFrom(new InternetAddress("發(fā)送方郵箱賬號"));//設(shè)置收件人msg.setRecipients(RecipientType.TO,"接受方郵箱賬號");//設(shè)置抄送msg.setRecipients(RecipientType.CC,"郵箱賬號");//設(shè)置主題msg.setSubject("javamail發(fā)送郵件Demo");//設(shè)置內(nèi)容msg.setContent("我是郵件","text/html;charset=utf-8");
/*** 3.發(fā)送*/Transport.send(msg);}

?下面在介紹一下發(fā)送帶附件的郵件需要修改的代碼,只需要將上面的:

msg.setContent("我是郵件","text/html;charset=utf-8")

替換成下面的代碼即可:

     MimeMultipart list=new MimeMultipart();//創(chuàng)建MimebodtPartMimeBodyPart part1=new MimeBodyPart();part1.setContent("這是一封包含附件的垃圾郵箱","text/html;charset=utf-8");list.addBodyPart(part1);//創(chuàng)建MimebodtPartMimeBodyPart part2=new MimeBodyPart();//設(shè)置附件內(nèi)容part2.attachFile(new File("e:/照片/me.jpg"));//設(shè)置顯示的文件名 順便解決亂碼問題part2.setFileName(MimeUtility.encodeText("哎喲,不錯哦.jpg"));list.addBodyPart(part2);msg.setContent(list);

?

總結(jié)

以上是生活随笔為你收集整理的JavaMail发送邮件的笔记及Demo的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。