java.lang.ClassCastException:java.lang.String不能转换为javax.mail.Multipart
下面是我从java教程中获得的代码——然而,当我尝试接收从计算机发送的普通消息时,我的问题就出现了,而不是通过GMail发送。如果我通过GMail收到邮件,它运行正常并返回邮件,但是尝试从传统的桌面邮件客户端检索邮件会返回 错误:java.lang.ClassCastException:java.lang.String不能转换为javax.mail.Multipart,java,email,jakarta-mail,classcastexception,Java,Email,Jakarta Mail,Classcastexception,下面是我从java教程中获得的代码——然而,当我尝试接收从计算机发送的普通消息时,我的问题就出现了,而不是通过GMail发送。如果我通过GMail收到邮件,它运行正常并返回邮件,但是尝试从传统的桌面邮件客户端检索邮件会返回 错误: java.lang.ClassCastException: java.lang.String cannot be cast to javax.mail.Multipart at gridnotifierproject_pcbuild.HandleMailInput.r
java.lang.ClassCastException: java.lang.String cannot be cast to javax.mail.Multipart
at gridnotifierproject_pcbuild.HandleMailInput.retrieveOneMail(HandleMailInput.java:37)
at gridnotifierproject_pcbuild.GridNotifierProject_PCBuild.main(GridNotifierProject_PCBuild.java:22)
代码:
首先了解异常 您的邮件内容返回字符串,并且您正在尝试键入cast to Multipart
Object content = msg.getContent();
if (content instanceof String)
{
String body = (String)content;
...
}
else if (content instanceof Multipart)
{
Multipart mp = (Multipart)content;
...
}
首先了解异常 您的邮件内容返回字符串,并且您正在尝试键入cast to Multipart
Object content = msg.getContent();
if (content instanceof String)
{
String body = (String)content;
...
}
else if (content instanceof Multipart)
{
Multipart mp = (Multipart)content;
...
}
并非所有消息都是多部分的。您需要了解MIME消息的结构。首先。然后查看。并非所有消息都是多部分的。您需要了解MIME消息的结构。首先。然后看看。
字符串
和多部分
不共享任何公共继承,因此无法强制转换它们。字符串
和多部分
不共享任何公共继承,因此无法强制转换它们。很好,我完全理解例外情况的抱怨-我不确定如何推进解决方案,谢谢。又好又短!很好,我完全理解异常的抱怨-我不确定如何继续解决问题,谢谢。又好又短!