1

我在我的项目中使用此代码连接到 Gmail 的收件箱以及我的 uni 邮件。它在我的系统上运行良好,我可以连接到两者的 IMAP。但是,一旦在其他系统上尝试相同的代码,Gmail 就会出现连接超时。它无法连接。我搜索了一下,发现我的系统正在监听端口 443,而在我测试的另一个系统上,它没有监听端口 443。我试图在另一个系统中给出一些入站规则来打开 443 端口但是一旦我运行我的编它被阻塞。

这个问题是由于端口造成的吗?或者我在这里错过了什么?

public class MailConnection {
    Folder inbox;

public MailConnection() throws MessagingException{
    Properties props = System.getProperties();
    props.setProperty("mail.store.protocol", "imap");
    try{
       Session session = Session.getInstance(props, null);
       Store store = session.getStore("imap");
       store.connect("mailbox.xyz.com", "emailId@xyz.com", "password");
       System.out.println(store);

       inbox = store.getFolder("Inbox");
       System.out.println("No of Unread Messages : " + inbox.getUnreadMessageCount());
    }
    catch (NoSuchProviderException e){
        e.printStackTrace();
        System.exit(1);
    }
}
4

1 回答 1

0

您正在连接到非 SSL IMAP 端口 - 143。我不知道“443”来自哪里。

Gmail 需要 SSL IMAP 端口。有关示例,请参阅此 JavaMail FAQ 条目。

如果它不起作用,请参阅这些调试提示

于 2013-07-26T06:43:18.540 回答