我正在尝试将Oracle MAF应用程序部署到iOS平台。我正在使用Java Mail接收来自gmail服务器的电子邮件。我正在尝试识别带有附件的邮件。但是我收到以下错误。
java.lang.ClassCastException:com.sun.mail.imap.IMAPInputStream无法强制转换为javax.mail.Multipart
当我将消息的mime类型识别为" multipart / mixed"时,我试图将对象转换为Multipart。
我知道之前已经提出过这个问题,但我已尝试实施提议的解决方案here。 但是我无法从javax.activation导入任何内容。我在jdeveloper中遇到的错误是
错误:配置文件中没有javax.activation.CommandMap。
此错误显示来自javax.activation
的所有内容此外,此错误仅在MAF应用程序中弹出。它在普通的java项目中运行良好。
我该如何处理这个问题?
import java.util.Properties;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Store;
public class Email {
public Email()
{
String userName = "abc@gmail.com";
String password = "password";
String receivingHost;
receivingHost="imap.gmail.com";
Properties props=System.getProperties();
props.setProperty("mail.store.protocol", "imaps");
Session session=Session.getDefaultInstance(props, null);
try
{
Store store=session.getStore("imaps");
store.connect(receivingHost,userName, password);
Folder folder=store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
Message messages[]=folder.getMessages();
//System.out.println(messages.length);
for (Message message : messages)
{
if(message.isMimeType("multipart/mixed"))
{
Multipart mp = (Multipart)message.getContent();
//get content
}
else
{
//getcontent
}
}
store.close();
}
catch (Exception e)
{
System.out.println(e.toString());
}
//System.out.println("Done");
}
}