难得阳光灿烂的周末啊,确被javamail的一个属性未设置,给硬生生的抢夺了。不过总算是找对了问题所在,在这里小计一下,给自己和别人也提醒一下。
先简介一下我的环境,grails,官方mail插件,运行于jetty(出现异常)和tomcat(很正常),jetty的异常在mac下是
引用
java.net.SocketException: Network is unreachable
at java.net.PlainSocketImpl.socketConnect(Native Method)
而在linux下边却是
引用
java.net.NoRouteToHostException: No route to host
看异常,可以比较明显得出是比较底层的socket问题,一开始,简单的定位为ipv6的问题,但是增加了
java.net.preferIPv4Stacks属性,也没有起作用。这回没法子了,只有根据异常的提示,去查看源代码了(开源实在是太伟大了),发现我配置的逻辑也没有什么不对啊。
最后,还是打印JavaMailSenderImpl(没错,grails/mail是采用spring的mail机制来实现的)的属性信息,才发现了问题,原来
mail.smtp.socketFactory.port竟然是465,我可没有使用ssl的啊,不知道怎么来的。
我的可以工作的mail的额外property属性如下:
- mail.smtp.auth=true
- mail.smtp.socketFactory.class=javax.net.SocketFactory
- mail.smtp.socketFactory.port=25
结论
建议将mail的几个属性都成对的设置,比如
- mail.smtp.socketFactory.class/mail.smtp.socketFactory.port
- ssl同理
分享到:
相关推荐
java利用james-2.3.1发送mail的实例! 功能俱全的范例!!! 对初学者比较适用...
用java简单地实现向多个邮件地址发mail
也许很多 同道遇到和我一样的问题,建了个web项目,写一堆代码,结果一运行老是报错!!!上网查了查,知道了原因,修改了还是不行。那么我告诉你,你建一个Java 项目就行了!!Java代码+mailjar 搞定!!!如果还...
Mac mail pop3 设置
发附件 mail vb 发附件 mail vb 发附件 mail vb
c++ mail c++mailc++ mail c++mailc++ mail c++mailc++ mail c++mailc++ mail c++mailc++ mail c++mail
4.7设置E-mail帐号和收发E-mail
android开发时后台发送邮件到指定邮箱所需要的mail-jar包
Mail - 一个Ruby邮件库
U-Mail教你设置监控一个或多个邮箱.docx
通过java扩展包javax.mail-1.4.4.jar实现邮件发送功能。 import javax.mail.Address; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart...
一个超好用的PHP mail类 快下来试试吧
同样地,当server B 成功地向邮递路径的下一条服务器传输或邮递邮件以后,Server B上的路由器也会将其从Mail.box中删除该邮件。 而一些比较特殊的场所需要保留所有相关的邮件,比如,证券交易所需要保存所有与交易...
发邮件程序需要的:javax.mail包
Exchange Server邮件管理专家之 Push Mail设置秘籍,讲解和Exchange的PushMail相关的技术知识。
基于Maven的javax.mail发送邮件例子程序 pom.xml添加依赖jar: <groupId>javax.mail <artifactId>mail ${javamail.version} </dependency> <javamail.version>1.4.1 /* 功能:加入了参考文章中没有...
资源包括邮件的发送、邮件的接收、查看邮件总数量和未读邮件数以及查看未读邮件并标记已读,还有我自己编写的简单的文档。希望能帮助需要帮助的筒子们
SpringMail.rar SpringMail发邮件
pear一个mail库,可以研究一下,不过用phpMailer很好了
设置发件人(可以不用) * $mail->setReceiver("收件人邮箱"); 设置收件人,多个收件人,调用多次 * $mail->setMailInfo("test", "<b>test</b>"); 设置邮件主题、内容 * $mail->sendMail(); 发送