JavaMile发送邮件报如下错误 Could not connect to SMTP host: smtp.163.com, port: 25;

JavaMile发送邮件报如下错误 Could not connect to SMTP host: smtp.163.com, port: 25;,第1张

主要原因是邮件客户端连接异常:

一、IP地址连接异常;

二、用户名密码错误。

可根据自己使用情况按照出现的原因调整一下即可正常使用。

JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。

界面自己写一下就可以了,把相关的参数传进去就可以了。 这个是我以前写的。用的javamail。 有main方法,测试一下自己的邮件,应该没问题的。希望可以帮到你。注意导入你需要的javamailjar的包 -------------------------------------------------------------- package comfourpanemail; import javautilProperties; import javaxmailAddress; import javaxmailFlags; import javaxmailFolder; import javaxmailMessage; import javaxmailMessagingException; import javaxmailNoSuchProviderException; import javaxmailSession; import javaxmailStore; import javaxmailTransport; import javaxmailinternetAddressException; import javaxmailinternetInternetAddress; import javaxmailinternetMimeMessage; public class TestMail { public static void main(String[] args) { //TestMailsendMail(); //TestMailreceiveMail(); TestMaildeleteMail(); } / send mail / public static void sendMail() { String host = "smtpsinacom";//邮件服务器 String from = "xingui5624@sinacom";//发件人地址 String to = "ilovenumen@vipsinacom";//接受地址(必须支持pop3协议) String userName = "xingui5624";//发件人邮件名称 String pwd = "";//发件人邮件密码 Properties props = new Properties(); propsput("mailsmtphost", host); propsput("mailsmtpauth", "true"); Session session = SessiongetDefaultInstance(props); sessionsetDebug(true); MimeMessage msg = new MimeMessage(session); try { msgsetFrom(new InternetAddress(from)); msgaddRecipient(MessageRecipientTypeTO, new InternetAddress(to));//发送 msgsetSubject("我的测试");//邮件主题 msgsetText("测试内容。。。。。。。");//邮件内容 msgsaveChanges(); Transport transport = sessiongetTransport("smtp"); transportconnect(host, userName, pwd);//邮件服务器验证 transportsendMessage(msg, msggetRecipients(MessageRecipientTypeTO)); Systemoutprintln("send ok"); } catch (AddressException e) { eprintStackTrace(); } catch (MessagingException e) { eprintStackTrace(); } } / receive mail / public static void receiveMail() { String host = "pop3sinacom"; String userName = "xingui5624"; String passWord = ""; Properties props = new Properties(); Session session = SessiongetDefaultInstance(props); sessionsetDebug(true); try { Systemoutprintln("receive"); Store store = sessiongetStore("pop3"); storeconnect(host, userName,passWord);//验证 Folder folder = storegetFolder("INBOX");//取得收件文件夹 folderopen(FolderREAD_WRITE); Message msg[] = foldergetMessages(); Systemoutprintln("邮件个数:" + msglength); for(int i=0; i<msglength; i++) { Message message = msg[i]; Address address[] = messagegetFrom(); StringBuffer from = new StringBuffer(); / 此for循环是我项目测试用的 / for(int j=0; j<addresslength; j++) { if (j > 0) fromappend(";"); fromappend(address[j]toString()); } Systemoutprintln(messagegetMessageNumber()); Systemoutprintln("来自:" + fromtoString()); Systemoutprintln("大小:" + messagegetSize()); Systemoutprintln("主题:" + messagegetSubject()); Systemoutprintln("时间::" + messagegetSentDate()); Systemoutprintln("==================================================="); } folderclose(true);//设置关闭 storeclose(); Systemoutprintln("receive over"); } catch (NoSuchProviderException e) { eprintStackTrace(); } catch (MessagingException e) { eprintStackTrace(); } } / delete mail / public static void deleteMail() { String host = "pop3sinacom"; String userName = "xingui5624"; String passWord = ""; Properties props = new Properties(); //Properties props = SystemgetProperties();这种方法创建 Porperties 同上 Session session = SessiongetDefaultInstance(props); sessionsetDebug(true); try { Systemoutprintln("begin delete "); Store store = sessiongetStore("pop3"); storeconnect(host, userName, passWord);//验证邮箱 Folder folder = storegetFolder("INBOX"); folderopen(FolderREAD_WRITE);//设置我读写方式打开 int countOfAll = foldergetMessageCount();//取得邮件个数 int unReadCount = foldergetUnreadMessageCount();//已读个数 int newOfCount = foldergetNewMessageCount();//未读个数 Systemoutprintln("总个数:" +countOfAll); Systemoutprintln("已读个数:" +unReadCount); Systemoutprintln("未读个数:" +newOfCount); for(int i=1; i<=countOfAll; i++) { Message message = foldergetMessage(i); messagesetFlag(FlagsFlagDELETED, true);//设置已删除状态为true if(messageisSet(FlagsFlagDELETED)) Systemoutprintln("已经删除第"+i+"邮件。。。。。。。。。"); } folderclose(true); storeclose(); Systemoutprintln("delete ok"); } catch (NoSuchProviderException e) { eprintStackTrace(); } catch (MessagingException e) { eprintStackTrace(); } } / reply mail / public static void replyMail() { //test } } 注意:此实现要求邮箱都支持pop3和smtp协议。现在老的网易邮箱都支持(2006年以前注册的),所以的sina的 qq的都可以,雅虎的部分支持,具体的可以在网上搜下把。 ============================================================================== 还有一种办法,也是我以前用到的。 其实最简单的发邮件方式是用Apache的Common组件中的Email组件,封装得很不错。 特简单。首先从Sun的网站上下载JavaMail框架实现,最新的版本是141。然后是JavaBeans Activation Framework,最新版本111,JavaMail需要这个框架。不过如果JDK是16的话就不用下了。16已经包括了JavaBeans Activation Framework。 最后从 http://commonsapacheorg/email/ 下载最新的Common Email,版本11。 首先在Eclipse中建立一个新的Java工程,然后把JavaMail和Common Email解压缩,在工程中添加解压缩出来的所有Jar的引用。 代码: package orgfourpanemail; import orgapachecommonsmailEmailException; import orgapachecommonsmailHtmlEmail; public class Mail { public static void main(String[] args) { //SimpleEmail email = new SimpleEmail(); HtmlEmail email = new HtmlEmail(); emailsetHostName("smtp163com");//邮件服务器 emailsetAuthentication("xingui5624", "");//smtp认证的用户名和密码 try { emailaddTo("xingui5624@163com");//收信者 emailsetFrom("xingui5624@126com", "");//发信者 emailsetSubject("xingui5624的测试邮件");//标题 emailsetCharset("UTF-8");//编码格式 emailsetMsg("这是一封xingui5624的测试邮件");//内容 emailsend();//发送 Systemoutprintln("send ok"); } catch (EmailException e) { eprintStackTrace(); } } } 如果发送不成功,可能是你的jar包问题,javamail 的jar可能和jdk15以上的j2ee的jar冲突。还有就是可能你的邮箱不支持pop3和smtp协议。

求采纳

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » JavaMile发送邮件报如下错误 Could not connect to SMTP host: smtp.163.com, port: 25;

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情