2016-05-24 8 views
1

をタイムアウトになりましたがスローされます。の受信メールの接続は、私は私の<code>gmail</code>考慮に来て、未読メールの送信者、件名、本文を印刷したJavaでプログラムを作成しようとしている

は、ここでは、コードです:

import java.util.*; 
import javax.mail.*; 

public class CheckingMails { 

    public static void main(String[] args) { 
     Properties props = new Properties(); 
     props.setProperty("mail.store.protocol", "imaps"); 
     try { 
      Session session = Session.getInstance(props, null); 
      Store store = session.getStore(); 
      store.connect("imap.gmail.com", "[email protected]", "password"); 
      Folder inbox = store.getFolder("INBOX"); 
      inbox.open(Folder.READ_ONLY); 
      Message msg = inbox.getMessage(inbox.getMessageCount()); 
      Address[] in = msg.getFrom(); 
      for (Address address : in) { 
       System.out.println("FROM:" + address.toString()); 
      } 
      Multipart mp = (Multipart) msg.getContent(); 
      BodyPart bp = mp.getBodyPart(0); 
      System.out.println("SENT DATE:" + msg.getSentDate()); 
      System.out.println("SUBJECT:" + msg.getSubject()); 
      System.out.println("CONTENT:" + bp.getContent()); 
     } catch (Exception mex) { 
      mex.printStackTrace(); 
     } 
    } 
} 

ここでは、私はこれらのエラーの理由を理解していない表示されるエラーです。

誰もが、私はそれを修正することができます方法を知っていますか?

javax.mail.MessagingException: Connessione scaduta; 
    nested exception is: 
    java.net.ConnectException: Connessione scaduta 
    at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:670) 
    at javax.mail.Service.connect(Service.java:295) 
    at javax.mail.Service.connect(Service.java:176) 
    at CheckingMails.main(CheckingMails.java:12) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140) 
Caused by: java.net.ConnectException: Connessione scaduta 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
    at java.net.Socket.connect(Socket.java:579) 
    at java.net.Socket.connect(Socket.java:528) 
    at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:321) 
    at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:237) 
    at com.sun.mail.iap.Protocol.<init>(Protocol.java:116) 
    at com.sun.mail.imap.protocol.IMAPProtocol.<init>(IMAPProtocol.java:115) 
    at com.sun.mail.imap.IMAPStore.newIMAPProtocol(IMAPStore.java:685) 
    at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:636) 
    ... 8 more 

ありがとうございます。

+0

答えを得るチャンスを増やすために、あなたは完全なスタックトレースを追加する必要があります。 "... 8以上"は、不完全なものに対する裁判です。 – reporter

+0

私はイタリア語に関しては本当にしっかりしていないが、私は「Connessioneのscadutaは、」プロキシまたはファイアウォールの問題について考えるようにつながる「接続がタイムアウト」という意味だと思います。 – Frank

+0

はい、 "Connessioneのscaduta" = "接続がタイムアウトしました" – DavidRT49

答えて

0

コードは何も問題はありません。イタリア語から英語への翻訳されたエラーは次のとおりです。デフォルトのものをオーバーライドするために、あなたの小道具オブジェクトに以下のプロパティを追加connection timed out

試してみてください。

props.setProperty("mail.imap.port", "993"); 
props.setProperty("mail.imap.connectiontimeout", "5000"); 
props.setProperty("mail.imap.timeout", "5000"); 

エラーが解決しない場合、あなたはCMDラインでコマンドtelnet imap.gmail.com {port number}を使用することができますポート接続を確認します。このエラーは、ファイアウォールまたはネットワークの問題が原因で発生している可能性があります。

関連する問題