JavaMail在Android上使用

           下载http://code.google.com/p/javamail-android/  虽然n年没更新了,但还是将就用吧,遇到问题自己解决。

            说说纠结了2两天的问题:IMAPInputStream cannot be cast to javax.mail.Multipart,这种问题真是折腾人。

            我建一个普通的java项目,导入javamail 1.4.5的包能用,我直接把javamail 1.4.5的源码放入项目中就不能用了,仍然报的是"IMAPInputStream cannot be cast to javax.mail.Multipart"。纠结至于认为这bug肯定是什么地方打包或配置文件的问题——诡异。源码看得头痛,继续google,然后跑去oracle官网上看,为嘛去oracle官网,因为java现在归属在oracle。发现答案在这里:https://forums.oracle.com/thread/2328407?tstart=105,大牛还是大牛,非吾辈码农能及。

         

// There is something wrong with MailCap, javamail can not find a handler for the multipart/mixed part, so this bit needs to be added. 
    MailcapCommandMap mc = (MailcapCommandMap) CommandMap.getDefaultCommandMap(); 
    mc.addMailcap("text/html;; x-java-content-handler=com.sun.mail.handlers.text_html"); 
    mc.addMailcap("text/xml;; x-java-content-handler=com.sun.mail.handlers.text_xml"); 
    mc.addMailcap("text/plain;; x-java-content-handler=com.sun.mail.handlers.text_plain"); 
    mc.addMailcap("multipart/*;; x-java-content-handler=com.sun.mail.handlers.multipart_mixed"); 
    mc.addMailcap("message/rfc822;; x-java-content-handler=com.sun.mail.handlers.message_rfc822"); 
    CommandMap.setDefaultCommandMap(mc); 
  } 


 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值