帮忙查了个Email接收失败的问题,Google和Baidu都没搜到,大概太简单了吧。。。
报错情况:java.lang.ClassCastException: com.sun.mail.util.BASE64DecoderStream incompatible with javax.mail.Multipart at ……
代码:Multipart mp = (Multipart) mpart.getContent();
以上代码是解析邮件附件的标准写法,多数邮件处理也正常,问题邮件在Outlook等客户端里也能正常处理,直接取mail服务器上的备份邮件,发现问题如下:
问题邮件: ……
Date: Tue, 24 Mar 2015 11:30:18 GMT From: xxx@yyy.com
To: xxx@yyy.net.cn Cc: bbb@ccc.com
Message-ID:
Subject: BLABLABLALALALA
MIME-Version: 1.0
Content-Type: application/EDIFACT; name=0798114O.96608468.608458886.1
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=0798114O.96608468.608458886.1
下面就是base64编码的附件报文
正常处理的邮件
……
From: xxx@yyy.com
Date: Mon, 9 Feb 2015 11:01:22 +0800
X-MIMETrack: Serialize by Router on NSHAS01/S/AS_ at 02/09/2015 11:01:23 AM
Content-Type: multipart/mixed; boundary="=_mixed 00109A2B48257DE7_="
……
=
--=_mixed 00109A2B48257DE7_=
Content-Type: application/octet-stream; name="嘻嘻嘻.pdf"
Content-Disposition: attachment; filename="嘻嘻嘻.pdf"
Content-Transfer-Encoding: base64
……
对比发现,问题邮件没有正文,没有boundary设置,MIME 1.0的规范还没仔细研究过。可能也是程序外发的mail,后续对接收程序做改造,增加容错机制【待续】
相关推荐
在Android开发中,Gson库是一个非常常用的工具,...参考博文:[链接](https://ujs-lifazhu.iteye.com/blog/1750820)提供了更多关于在Android项目中处理Gson混淆问题的详细步骤和示例,建议详细阅读以获取更深入的理解。
在Java编程中,`java.lang.ClassCastException`是一个运行时异常,通常发生在强制类型转换时,如果尝试将一个对象转换为其非兼容类型时就会抛出。这个异常表明在编译时可能成功的类型转换,在运行时被证明是错误的。...
在Android开发中,PopupWindow是一个非常实用的组件,它可以用于创建弹出式窗口,提供临时性的用户交互。本文将深入探讨如何在Android中简单封装一个精美、易用的菜单型PopupWindow,以满足用户界面的需求。...
在Java编程中,XML(可扩展标记语言)是一种被广泛用于数据存储和交换的格式。为了处理XML文档,Java提供了多种API,其中最常用的包括DOM、SAX、DOM4J和JDOM。以下是对这些方法的详细介绍: 1. DOM(Document ...
安卓系统 玩Android客户端 项目简介 整个项目采用MVVM + Retrofit + RxJava架构进行开发。 项目截图 项目版本 v1.0.0 基本功能 技术要点 采用MVVM模式开发,查看操作和业务逻辑解耦 采用DataBinding框架实现View与...
异常信息中提到`Error instantiating class com.fendo.entity.Person`,这表明在尝试实例化`Person`类时出现了问题。具体错误是`NoSuchMethodException: com.fendo.entity.Person.<init>()`,这意味着Mybatis无法...
解决canal同步es报错: java.lang.ClassCastException: com.alibaba.druid.pool.DruidDataSource cannot be cast to com.alibaba.druid.pool.DruidDataSource
1. **泛型**:泛型增加了类型安全,允许在编译时检查类型,避免了运行时的ClassCastException。 2. **枚举类型**:这是一种新的数据类型,用于定义常量集合,增强了代码的可读性和安全性。 3. **自动装箱和拆箱**...
**类型转换**是Java编程中的常见操作,但是不安全的类型转换会导致`ClassCastException`。当试图将一个对象强制转换为它实际上不是的类型时,就会抛出这个异常。在你的例子中,`MorphDynaBean`不能被转换为`xxx`,...
二:保证 ImageCycleView的 父布局是LinearLayout 否则可能会报异常,比如 java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.RelativeLayout$...
java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer 出现这个报错的原因是 javax.servlet-api 在运行时将 ...
ClassCastException如何解决.md
ClassCastException解决办法.md
`java.util.ConcurrentModificationException` 是一个在 Java 中常见的运行时异常,它通常发生在多线程环境中,当一个线程正在遍历一个集合(如 `ArrayList`, `HashMap` 等),而另一个线程同时尝试修改这个集合时。...
Load canal adapter: es7 failed java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassCastException: ...canal-adapter1.1.5报错, 将client-adapter.es7x-1.1.5-SNAPSHOT-jar-with-dependencies....
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassCastException: com.alibaba.druid.pool.DruidDataSource cannot be cast to com.alibaba.druid.pool.DruidDataSource 可用这个jar替换...
cannot be cast to javax.servlet.Filter 报错, 原因servlet-api.jar冲突 使用maven开发web应用程序, 启动的时候报错: jar not loaded....java.lang.ClassCastException: org.springframework.web.f
### Tomcat7启动或运行时报错:`java.lang.ClassCastException: org.apache.jasper.el.ELContextImpl` #### 问题概述 在使用Tomcat7部署Web应用的过程中,可能会遇到启动或者运行时出现以下错误提示: ``` java....
1. 类型安全:泛型可以在编译期检查类型的正确性,避免了 ClassCastException。 2. 代码重用:泛型可以将类型参数化,使得代码可以应用于多种类型。 3. 代码简洁:泛型可以减少类型转换的代码,使得代码更加简洁。 ...