Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaMail访问Mailinator POP3_Java_Jakarta Mail_Pop3 - Fatal编程技术网

使用JavaMail访问Mailinator POP3

使用JavaMail访问Mailinator POP3,java,jakarta-mail,pop3,Java,Jakarta Mail,Pop3,我正在尝试使用JavaMail API访问mailinators消息 我可以正确连接到服务器等,但在阅读邮件时,我不断收到“文件夹未打开”异常,当我检查文件夹是否打开,如果未打开文件夹,这也不会有帮助。我猜出于某种原因,mailinator终止了连接 如果我尝试获取消息的inputstream而不是使用getContent,我可以从inputstream中读取消息,并且它包含消息的样式等。但是由于某些原因,我从inputstream中读取的数据似乎不包含消息正文 如果这是关于mailinator

我正在尝试使用JavaMail API访问mailinators消息

我可以正确连接到服务器等,但在阅读邮件时,我不断收到“文件夹未打开”异常,当我检查文件夹是否打开,如果未打开文件夹,这也不会有帮助。我猜出于某种原因,mailinator终止了连接

如果我尝试获取消息的inputstream而不是使用getContent,我可以从inputstream中读取消息,并且它包含消息的样式等。但是由于某些原因,我从inputstream中读取的数据似乎不包含消息正文

如果这是关于mailinator的,或者您可以为我提供任何其他支持pop3或其他易于阅读的随机电子邮件阅读服务,那么我是否在这个项目中使用mailinator并不重要

我当前的邮件阅读代码

private void checkMail(String user) {
    Properties props = new Properties();
    Session session = Session.getDefaultInstance(props, null);
    try {
        Store store = session.getStore("pop3");
        store.connect("pop.mailinator.com", 110, user, "12345678");
        Folder inbox = store.getFolder("inbox");
        if(inbox == null) {
            System.out.println("no inbox");
        } else {
            inbox.open(Folder.READ_ONLY);
            for(Message message: inbox.getMessages()) {

                byte[] buffer = new byte[10000];

                int read = 0;

                try {

                    while((read = message.getInputStream().read(buffer, 0, 1024)) > 0) {
                        for(int i = 0; i < buffer.length; i++) {
                            System.out.print((char)buffer[i]);
                        }
                    }
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

                /*try {
                    System.out.println(message.getContent().toString());
                } catch (IOException e) {
                    e.printStackTrace();
                }*/
            }
        }
        inbox.close(false);
        store.close();
    } catch (NoSuchProviderException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (MessagingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}
private void checkMail(字符串用户){
Properties props=新属性();
Session Session=Session.getDefaultInstance(props,null);
试一试{
Store Store=session.getStore(“pop3”);
store.connect(“pop.mailinator.com”,110,用户,“12345678”);
文件夹收件箱=store.getFolder(“收件箱”);
如果(收件箱==null){
System.out.println(“无收件箱”);
}否则{
收件箱。打开(文件夹。只读);
对于(消息:inbox.getMessages()){
字节[]缓冲区=新字节[10000];
int read=0;
试一试{
而((read=message.getInputStream().read(缓冲区,0,1024))>0){
for(int i=0;i

此外,当从inputstream读取时,inputstream看起来好像永远不会结束,只是重新开始。我的目的是获取邮件正文和主题。

如果您正在从邮件中读取InputStream,则显然文件夹已打开。
什么时候会出现“文件夹未打开”异常?表演什么?若您认为您的服务器是问题的端口,可以尝试使用。此外,您还需要。

在过去的某个时候,Mailinator改变了行为,禁止POP3访问(或仅为付费客户保留)。也许这就是你的问题(如果代码与其他邮件提供商一起工作)