Jakarta mail javax.mail.MessagineException:尝试使用java邮件API访问gmail时重置连接

Jakarta mail javax.mail.MessagineException:尝试使用java邮件API访问gmail时重置连接,jakarta-mail,connection-reset,Jakarta Mail,Connection Reset,我试图使用java邮件API阅读我gmail帐户中的邮件。代码如下: import java.util.*; import java.io.*; import java.awt.*; import javax.mail.*; import javax.mail.search.FlagTerm; import javax.mail.Flags.Flag; public class MailPharser { /** * @param args */ public void mailRead(

我试图使用java邮件API阅读我gmail帐户中的邮件。代码如下:

import java.util.*;
import java.io.*;
import java.awt.*;
import javax.mail.*;
import javax.mail.search.FlagTerm; 
import javax.mail.Flags.Flag;
public class MailPharser {
/**
 * @param args
 */
public void mailRead()
{
    Folder inbox; 
    // TODO Auto-generated method stub
     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","<mailid@gmail.com>", "<password>"); 
         inbox = store.getFolder("Inbox"); 
         System.out.println("No of Unread Messages : " + inbox.getUnreadMessageCount());


     }
     catch (Exception ex) 
     { System.out.println("Error caught"); ex.printStackTrace(); }

}

public static void main(String[] args) {
    MailPharser mp = new MailPharser();
    mp.mailRead();
}   

}
import java.util.*;
导入java.io.*;
导入java.awt.*;
导入javax.mail.*;
导入javax.mail.search.FlagTerm;
导入javax.mail.Flags.Flag;
公共类邮递员{
/**
*@param args
*/
public void mailRead()
{
文件夹收件箱;
//TODO自动生成的方法存根
Properties props=System.getProperties();
props.setProperty(“mail.store.protocol”、“imaps”);
尝试
{
Session Session=Session.getDefaultInstance(props,null);
Store Store=session.getStore(“imaps”);
store.connect(imap.gmail.com、“”、“”);
收件箱=store.getFolder(“收件箱”);
System.out.println(“未读邮件数:+inbox.getUnderMessageCount());
}
捕获(例外情况除外)
{System.out.println(“捕获错误”);例如printStackTrace();}
}
公共静态void main(字符串[]args){
MailPharser mp=新的MailPharser();
mp.mailRead();
}   
}
运行时,我遇到以下错误:

javax.mail.MessagingException: Connection reset;
  nested exception is:
java.net.SocketException: Connection reset
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 MailPharser.mailRead(MailPharser.java:26)
at MailPharser.main(MailPharser.java:40)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:548)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:352)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:233)
at com.sun.mail.iap.Protocol.<init>(Protocol.java:113)
at com.sun.mail.imap.protocol.IMAPProtocol.<init>(IMAPProtocol.java:111)
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:637)
... 4 more
javax.mail.MessaginException:连接重置;
嵌套异常是:
java.net.SocketException:连接重置
在com.sun.mail.imap.IMAPStore.protocolConnect上(IMAPStore.java:670)
在javax.mail.Service.connect(Service.java:295)
在javax.mail.Service.connect(Service.java:176)
MailPharser.mailRead(MailPharser.java:26)
MailPharser.main(MailPharser.java:40)
原因:java.net.SocketException:连接重置
位于java.net.SocketInputStream.read(未知源)
位于com.sun.net.ssl.internal.ssl.InputRecord.readfull(未知源)
位于com.sun.net.ssl.internal.ssl.InputRecord.read(未知源)
位于com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(未知源)
位于com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(未知源)
位于com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(未知源)
位于com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(未知源)
位于com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:548)
在com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:352)
位于com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:233)
在com.sun.mail.iap.Protocol.(Protocol.java:113)
在com.sun.mail.imap.protocol.IMAPProtocol.(IMAPProtocol.java:111)
在com.sun.mail.imap.IMAPStore.protocolConnect上(IMAPStore.java:637)
... 4更多

我添加了跟踪,发现连接调用失败。我做错什么了吗?任何帮助都可以。提前感谢…

这可能是与JavaMail无关的网络问题,例如,您和Gmail之间的代理或防火墙

如果你想知道是你的代码坏了还是网络坏了,你可以。如果JavaMail代码有效,那么您就知道代码有问题,您可以在FAQ中使用JavaMail代码来改进代码

如果您发现这是一个网络问题,JavaMail常见问题解答也有