我試圖連接到我的Gmail收件箱以通過Java應用程序讀取消息。我使用..JavaMail store.connect()超時 - 無法通過Java讀取Gmail收件箱
- jdk1.6.0_13
- 的JavaMail-1.4.3庫 - (的mail.jar,mailapi.jar和imap.jar)
下面是我的代碼:MailReader.java
import java.util.Properties;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Store;
public class MailReader
{
public static void main(String[] args)
{
readMail();
}
public static void readMail()
{
Properties props = System.getProperties();
props.setProperty("mail.store.protocol", "imaps");
try
{
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("imaps");
store.connect("imap.gmail.com", "[email protected]", "myPwd");
System.out.println("Store Connected..");
//inbox = (Folder) store.getFolder("Inbox");
//inbox.open(Folder.READ_WRITE);
//Further processing of inbox....
}
catch (MessagingException e)
{
e.printStackTrace();
}
}
}
我期望能獲得商店連接,而是調用store.connect()永遠不會返回,我得到以下的輸出:
javax.mail.MessagingException:連接超時;
嵌套 例外是:
java.net.ConnectException:連接超時
在 com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:441)
在 javax.mail.Service。連接(Service.java:233)
在 javax.mail.Service.connect(Service.java:134)
在 ReadMail.readMail(ReadMail.java:21)
在ReadMail.main(ReadMail.java :10)
但是我能夠通過Java使用SMTP,Transport.send()和相同的Gmail帳戶發送電子郵件。但不能閱讀電子郵件。 什麼是解決方案?
我在linux上,所以我做了「nmap -p 993 imap.gmail.com」,我的狀態是「過濾」。所以我想你是對的,那個端口被阻塞了。 – viv
使用telnet或其他網絡實用程序來診斷網絡問題是我知道的最簡單的方法,以便在服務器正常運行時進行完整性檢查 –
謝謝!我被困了好幾個小時.. – viv