JAVA发送邮件工具包_java mail 发送邮件工具包
Java測試發送郵件的時候經常出現異常,檢查多次賬戶名密碼無誤后,依然出現如下圖錯誤: 之前不清楚,后面在網上得到提醒,我們所使用的smtp服務器使用的密碼與我們自身登錄網頁端郵箱的密碼是不一樣的,以163郵箱為例,當我們設置打開smtp服務時會要求我們設
下載地址:
下載1 封裝好的java郵件包,代碼調用示例 public static void main(String[] args) throws Exception {
FinderSendMail sendMail;
MailInfo mailInfo =new MailInfo();
mailInfo.setTitle("test title");
mailInfo.setFrom("xxx@163.com");
mailInfo.setHost("smtp.163.com");
mailInfo.setTo("xxx@gmail.com");
mailInfo.setUsername("xxx@163.com");
mailInfo.setPassword("xxx");
//mailInfo.setContentType("text/html");
mailInfo.setContent("welcome to 技術社區");
sendMail=new FinderSendMail(mailInfo);
sendMail.send();
} 就這么簡單調用,就發出去了, 依賴包 activition.jar,mail.jar, log4j.jar 如果你放在有JAVAEE.JAR 環境下 運行 會有一下錯誤問題 首次運行你可能會遇到以下的錯誤,所以note.txt文件就用來提供遇到的錯誤以及對應的解決方案 note.txt java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
at javax.mail.Session.loadProvidersFromStream(Session.java:928)
at javax.mail.Session.access$000(Session.java:174)
at javax.mail.Session$1.load(Session.java:870)
at javax.mail.Session.loadResource(Session.java:1084)
at javax.mail.Session.loadProviders(Session.java:889)
at javax.mail.Session.(Session.java:210)
at javax.mail.Session.getDefaultInstance(Session.java:299)
at mail.SendMail.sendMail(SendMail.java:31)
at mail.SendMail.main(SendMail.java:50) Exception in thread "main"
解決方案:在myeclipse的安裝目錄下搜索javaee.jar,然后用壓縮軟件打開,刪除javax下的mail文件夾 java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport
at javax.activation.MailcapCommandMap.(MailcapCommandMap.java:140)
at javax.activation.CommandMap.getDefaultCommandMap(CommandMap.java:61)
at javax.activation.DataHandler.getCommandMap(DataHandler.java:153)
at javax.activation.DataHand1、注冊一個網易郵箱,開通smtp服務,作為發送郵件的郵箱服務器 2、jar包準備commons-email-1.3.3.jar,activation.jar等,源碼有提供 3、準備工作 //設置smtp host,QQ郵箱郵件服務器為smtp.qq.com,此處為163 郵箱
private static final String HostName = "ler.getDataContentHandler(DataHandler.java:611)
at javax.activation.DataHandler.writeTo(DataHandler.java:315)
at javax.mail.internet.MimeUtility.getEncoding(MimeUtility.java:264)
at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1299)
at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2071)
at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:2039)
at javax.mail.Transport.send(Transport.java:119)
at mail.SendMail.sendMailNoValidate(SendMail.java:48)
at mail.SendMail.main(SendMail.java:96) Exception in thread "main"
解決方案:在myeclipse的安裝目錄下搜索javaee.jar,然后用壓縮軟件打開,刪除javax文件夾下的activation文件夾 javax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.MessagingException: 503 Error: need EHLO and AUTH first !
at javax.mail.Transport.send0(Transport.java:219)
at javax.mail.Transport.send(Transport.java:81)
at com.asiainfo.bboss.sendmail.SendMailServiceImpl.sendMailNoValidate(SendMailServiceImpl.java:210)
at com.asiainfo.bboss.sendmail.SendMailServiceImpl.sendMail(SendMailServiceImpl.java:243)
at com.asiainfo.bboss.sendmail.SendMailServiceImpl.main(SendMailServiceImpl.java:261) 解決方案:props.put("mail.smtp.auth", "true");
javax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.AuthenticationFailedException
at javax.mail.Transport.send0(Transport.java:219)
at javax.mail.Transport.send(Transport.java:81)
at com.asiainfo.bboss.sendmail.SendMailServiceImpl.sendMailNoValidate(SendMailServiceImpl.java:211)
at com.asiainfo.bboss.sendmail.SendMailServiceImpl.sendMail(SendMailServiceImpl.java:244)
at com.asiainfo.bboss.sendmail.SendMailServiceImpl.main(SendMailServiceImpl.java:262) 解決方案:?MyAuthenticator myauth = new MyAuthenticator(mailInfo.getUsername(),password);
總結
以上是生活随笔為你收集整理的JAVA发送邮件工具包_java mail 发送邮件工具包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++学习之路 | PTA乙级—— 10
- 下一篇: oracle简单序列,-30天下载