日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

javaMail学习(三)——使用javaMail给易邮邮账户发简单邮件

發(fā)布時間:2023/12/2 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javaMail学习(三)——使用javaMail给易邮邮账户发简单邮件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

沒什么可說的,直接上代碼吧:

package com.wjl.mail.utils;import java.util.Properties;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;/*** 郵件發(fā)送的工具類* 使用eyoumailserver,內(nèi)部賬戶發(fā)郵件*/ /* javax.mail.Session:上下文環(huán)境信息,如服務(wù)器的主機(jī)名、端口號、協(xié)議名稱等 javax.mail.Message:郵件模型,發(fā)送郵件和接收郵件的媒介,封裝了郵件的信息,如發(fā)件人、收件人、郵件標(biāo)題、郵件內(nèi)容等 javax.mail.Transport:連接郵件SMTP服務(wù)器,發(fā)送郵件 javax.mail.Store:連接郵件POP3、IMAP服務(wù)器,收取郵件 */ public class MailUtils2 {private static String userName = "user03@wjl.com";//發(fā)送郵件的人private static String password = "123456";//發(fā)送郵件的賬戶的密碼private static String userName2 = "user04@wjl.com";//接收郵件的人private static String port = "25";//465、587/*** 該方法用來發(fā)送郵件* @param to:給誰發(fā)郵件* **/public static void sendMain(String to) throws AddressException, MessagingException{//1、創(chuàng)建連接對象,連接到郵箱服務(wù)器Properties props = new Properties();//開啟debug調(diào)試 props.setProperty("mail.debug", "true"); //stmp服務(wù)器需要進(jìn)行身份驗證,也就是有戶名和密碼的校驗,這樣才能通過驗證props.setProperty("mail.smtp.auth", "true"); //發(fā)送郵件協(xié)議名稱 props.setProperty("mail.transport.protocol", "smtp"); //設(shè)置郵件服務(wù)器主機(jī)名 props.setProperty("mail.host", "127.0.0.1");//本地//設(shè)端口號(該配置可寫可不寫)props.setProperty("mail.smtp.port", port);//Authenticator:認(rèn)證信息Session session = Session.getInstance(props, new Authenticator(){@Overrideprotected PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication(userName,password);//使用它給其他賬戶發(fā)郵件}});//2、創(chuàng)建郵件對象Message message = new MimeMessage(session);//2.1設(shè)置發(fā)件人message.setFrom(new InternetAddress(userName));//2、2設(shè)置收件人message.setRecipient(RecipientType.TO, new InternetAddress(to));//2.3郵件的主題message.setSubject("測試發(fā)消息");//2.4郵件的正文(即郵件的內(nèi)容)message.setContent("測試郵件:來自user03@wjl.com的郵件","text/html;charset=utf-8");//3.發(fā)送郵件Transport trans = session.getTransport();//連接郵件服務(wù)器trans.connect(userName, password); //發(fā)送郵件trans.sendMessage(message, message.getAllRecipients()); //關(guān)閉連接trans.close();//Transport.send(message);(兩種方式都可以)System.out.println("發(fā)送成功");}public static void main(String[] args) {try {sendMain(userName2);} catch (Exception e) {e.printStackTrace();} } }

執(zhí)行成功之后,使用Foxmail查看郵件。

說明郵件發(fā)送成功了。

?

可能遇到的問題

執(zhí)行代碼時報錯:java.lang.NoClassDefFoundError: com/sun/mail/util/BEncoderStream

原因是jar包版本不統(tǒng)一,javaMail與Java EE 5 Libraries/javaee.jar/mail里的包有東西沖突。

解決辦法:將Java EE 5 Libraries換成Java EE 6 Libraries

Libraries替換:

選中項目右擊---->Properties---->Java Build Path---->Add Library,如圖:

選默認(rèn)的“MyEclipse Libraries” 。

勾選“Java EE 6 Libraries” 。然后Finish。

此時Libraries中有兩個Libraries,一個5一個6,將Java EE 5 Libraries刪除,然后確定。

再執(zhí)行代碼,就不會再報錯啦。

總結(jié)

以上是生活随笔為你收集整理的javaMail学习(三)——使用javaMail给易邮邮账户发简单邮件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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