0
昨日私はこのサイトで例外の処理方法を知らなかったと尋ねましたが、私は幸運にも短時間で答えを見つけました。まあ..別のものがあります。クラスは他の質問と同じです:IMAPサーバーからメッセージをダウンロードして配列に処理すると、IMAPAddress Exceptionが返されます。今回私は本当に何ができるのかわからないので、POP3を使いたくないのは、電子メールをサーバーに保存しておきたいのです。注意していただきありがとうございます。ここでIMAPAddress例外 - こんにちは、それは私です。
はコードです:
ScaricaEmail(String host,String porta,String user,String pw)
{
this.host=host;
this.porta=porta;
nick=user;
this.pw=pw;
}
public static Object[][] checkMail(String cartella)
{
Object[][] tabella;
try
{
Properties propvals = new Properties();
propvals.put("mail.imaps.host", host);
propvals.put("mail.imaps.port", porta);
propvals.put("mail.imaps.starttls.enable", "true");
propvals.put("mail.imaps.ssl.trust", "*");
Session emailSessionObj = Session.getDefaultInstance(propvals);
//Create IMAP store object and connect with the server
Store storeObj = emailSessionObj.getStore("imaps");
storeObj.connect(host, nick, pw);
//Create folder object and open it in read-only mode
Folder emailFolderObj = storeObj.getFolder(cartella);
emailFolderObj.open(Folder.READ_ONLY);
//Fetch messages from the folder and print in a loop
Message[] messageobjs = emailFolderObj.getMessages();
tabella=new Object[messageobjs.length][6];
for(int i = 1; i <= messageobjs.length; i++)
{
Message m = messageobjs[i-1];
String mimeType = m.getContentType();
Object[] risultati=new String[6];
risultati[i-1]=m.getFrom()[i-1]; //Here's where I get the Exception
risultati[i-1]=m.getSubject();
risultati[i-1]=getTestoDaMessaggio(m);
risultati[i-1]=getContoAllegati(m);
risultati[i-1]=m.getSentDate();
risultati[i-1]=0;
tabella[i-1]=risultati;
}
emailFolderObj.close(false);
storeObj.close();
}
catch (Exception exp)
{
exp.printStackTrace();
tabella=null;
}
return tabella;
}
は、ここで出力です:
java.lang.ArrayStoreException: com.sun.mail.imap.protocol.IMAPAddress
at clientemail.ScaricaEmail.checkMail(ScaricaEmail.java:57)
at clientemail.Home.initComponents(Home.java:240)
at clientemail.Email$4.actionPerformed(Email.java:167)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
ありがとうございました。
[JavaMail debug output](https://javaee.github.io/javamail/FAQ#debug)の表示内容は何ですか? –
[配列はJavaで統一されています](https://stackoverflow.com/questions/16518556/arrays-are-reified-in-java)の可能な複製 – jmehrens