MyException - 我的异常网
当前位置:我的异常网» J2SE » 关于Javamail中接收方用户认证的有关问题

关于Javamail中接收方用户认证的有关问题

www.MyException.Cn  网友分享于:2015-08-26  浏览:11次
关于Javamail中接收方用户认证的问题
邮件服务为James

用javamail连接James邮件服务器给一个外部的邮件,比如说163,gmail等邮件服务器发送一封邮件,如果收件人根本就没在163,gmail上注册过,那么javamail处理邮件时候如何处理?也就是说,程序中有没有可能在发送邮件的过程中就知道了收件人地址错误??

------解决方案--------------------
这要外部的邮件服务器提供接口才行,基于安全问题,一般的服务器都不提供的,不然不就可以随意发垃圾邮件了?
自己的邮件服务器就可以在发送前判断下了
------解决方案--------------------
验证收件人地址这个需求,我们也仅仅是用正则表达式验证下是否符合规范罢了,至于是否存在恐怕是没办法
------解决方案--------------------
http://blog.csdn.net/CrazyGou/archive/2007/06/13/1649828.aspx
http://blog.csdn.net/CrazyGou/archive/2007/06/13/1649834.aspx
------解决方案--------------------
回复人:killme2008(为了生态平衡,请保护蛤蟆) ( 一星(中级)) 信誉:96 2007-6-12 15:25:28 得分:0
?

我明白了,用javamail貌似是没办法直接交互的,用socket来做是可以的
Socket socket=new Socket( "smtp.xxx.com ",25);
BufferedWriter out=new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
out.write( "RCPT TO:test@xxx.com ");
out.flush();
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line=in.readLine();
int result=Integer.parseInt(line);
if(result!=250)
System.out.println( "收件人地址有错误 ");
---------------------
这样做是不行的
必须获取主机的MX(Mail Exchange)记录,然后与其邮件交换服务器交互,而不是smtp.xxx.com。
再就是命令必须按照次序写入,先HELO再MAIL FROM再RCPT TO,否则服务器可能拒绝。还有,RCPT TO后返回的一般不会仅是一个数字,可能如250-ok,不能parseInt

按照我提供的方法(http://blog.csdn.net/CrazyGou/archive/2007/06/13/1649834.aspx)验证是有效率&资源问题,但也只能这么做。是否必要不是绝对的,需要自己权衡
如果只是偶尔有发送邮件的需求,可以不用James做邮件服务器,用JavaMail直接发信(http://blog.csdn.net/CrazyGou/archive/2007/06/13/1649828.aspx),send方法返回false表示发送失败。可根据JavaMail异常判断发送失败原因
------解决方案--------------------
关注一下

文章评论

写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
我是如何打败拖延症的
我是如何打败拖延症的
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
那些争议最大的编程观点
那些争议最大的编程观点
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
 程序员的样子
程序员的样子
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
程序员必看的十大电影
程序员必看的十大电影
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
如何成为一名黑客
如何成为一名黑客
程序员的鄙视链
程序员的鄙视链
程序员都该阅读的书
程序员都该阅读的书
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
总结2014中国互联网十大段子
总结2014中国互联网十大段子
程序员应该关注的一些事儿
程序员应该关注的一些事儿
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
代码女神横空出世
代码女神横空出世
10个调试和排错的小建议
10个调试和排错的小建议
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
旅行,写作,编程
旅行,写作,编程
一个程序员的时间管理
一个程序员的时间管理
程序员和编码员之间的区别
程序员和编码员之间的区别
编程语言是女人
编程语言是女人
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
鲜为人知的编程真相
鲜为人知的编程真相
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
我的丈夫是个程序员
我的丈夫是个程序员
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
老程序员的下场
老程序员的下场
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
Java程序员必看电影
Java程序员必看电影
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有