gpt4 book ai didi

timeout - JavaMail store.connect() 超时 - 无法通过 Java 读取 gmail 收件箱

转载 作者:行者123 更新时间:2023-12-02 18:26:12 40 4
gpt4 key购买 nike

我正在尝试连接到我的 gmail 收件箱以通过 Java 应用程序读取消息。我正在使用..

  • 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", "myEmailId@gmail.com", "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: Connection timed out;
nested exception is:
java.net.ConnectException: Connection timed out
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:441)
at javax.mail.Service.connect(Service.java:233)
at javax.mail.Service.connect(Service.java:134)
at ReadMail.readMail(ReadMail.java:21)
at ReadMail.main(ReadMail.java:10)

但是我可以使用 SMTP、Transport.send() 和相同的 gmail 帐户通过 Java 发送电子邮件。但无法阅读电子邮件。解决办法是什么?

最佳答案

IMAP 使用不同的端口(143 表示非安全,993 表示安全)来发送邮件 (25),我怀疑该端口已被阻止。您可以通过该端口远程登录到该服务器吗,例如

telnet imap.gmail.com {port number}

这将表明您是否有网络连接。

关于timeout - JavaMail store.connect() 超时 - 无法通过 Java 读取 gmail 收件箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12778679/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com