无法与pop3服务器连接

时间:2016-04-08 11:43:49

标签: java android javamail

我想用应用查看我的邮件。我的代码到目前为止:

我的提供商使用SSL,请参阅 here

到目前为止我的代码:

try {
            //1) get the session object
            Properties properties = new Properties();
            properties.put("mail.pop3s.host", "pop.1und1.de");
            properties.put("mail.pop3s.port", "995");
            Session emailSession = Session.getDefaultInstance(properties);

            //2) create the POP3 store object and connect with the pop server
            POP3Store emailStore = (POP3Store) emailSession.getStore("pop3s");
            emailStore.connect(<myMailAdress>, <password>);

            //3) create the folder object and open it
            Folder emailFolder = emailStore.getFolder("INBOX");
            emailFolder.open(Folder.READ_ONLY);

            //4) retrieve the messages from the folder in an array and print it
            Message[] messages = emailFolder.getMessages();
            for(Message message:messages) {
                String from = message.getFrom()[0].toString().toLowerCase();
                Log.e("XXXXXX",from);
            }
            emailFolder.close(false);
            emailStore.close();

        } catch (NoSuchProviderException e) {
            e.printStackTrace();
        }
        catch (MessagingException e) {
            e.printStackTrace();
        }

代码一直运行到emailStore.connect()。我得到了例外 javax.mail.MessagingException: Connect failed; nested exception is: javax.net.ssl.SSLHandshakeException: Connection closed by peer

1 个答案:

答案 0 :(得分:-1)

此帖子不会回答您的问题,但POP3显然不方便。当然,你会看到一些电子邮件提供商在这里和那里提供它,但一般来说,人们倾向于出于不同的原因使用IMAP。

首先,POP3从服务器下载所有电子邮件,而不是将它们标记为已下载或读取,它会做更糟糕的事情:删除它。是。因此,如果您从iPhone访问这些电子邮件,然后来到您的PC下载可爱的猫图片,它就不会存在。 iPhone会将其下载,提供给您,然后立即将其从电子邮件提供商处删除。

其次,POP3没有同步功能。这与我的第一点非常相似。如果您已经阅读过POP3,POP3不会将您的电子邮件标记为已读,它将忽略这一事实。 POP3可能适用于拥有一台设备的人 - 即只能负担一台设备的人。但是,我们大多数人至少有两台设备(一台电脑和一部智能手机),同步也很糟糕。

话虽如此,我会尽力回答你的问题。由对等方关闭的连接表示服务器或对等方正在使用过时的危险安全协议,如某些版本的TLS。尝试启动安全设置。如果是其他问题,这将无法解决您的问题。您是否尝试检查提供商设置中的POP3设置是否已启用?有时最简单的答案可以拯救你的培根!