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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

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

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

執行成功之后,使用Foxmail查看郵件。

說明郵件發送成功了。

?

可能遇到的問題

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

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

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

Libraries替換:

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

選默認的“MyEclipse Libraries” 。

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

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

再執行代碼,就不會再報錯啦。

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。