Oze*_*lot 4 java pop3 jakarta-mail raspberry-pi3
我编写了一个用 JavaMail 检查邮件的程序。这是代码:
private static Folder getFolder(String popHost, int openPort, MailAuthenticator auth) throws MessagingException{
try{
store.close();
}catch(Exception e){
System.out.println("Store konnte nicht geschlossen werden: "+e.getMessage());
}
Properties properties = System.getProperties();
properties.setProperty("mail.store.protocol", "pop3");
properties.setProperty("mail.pop3.host", popHost);
properties.setProperty("mail.pop3.port", String.valueOf(openPort));
properties.setProperty("mail.pop3.auth", "true");
properties.setProperty( "mail.pop3.socketFactory.class",
"javax.net.ssl.SSLSocketFactory" );
Session session = Session.getInstance(properties, auth);
session.setDebug(true);
store = session.getStore( "pop3" );
store.connect();
return store.getFolder( "INBOX" );
Run Code Online (Sandbox Code Playgroud)
它在我的 PC 上完美运行,但它应该在我的 Raspberry Pi 上运行。在 Raspberry store.connect()上抛出 AuthenticationFailedException:
DEBUG: setDebug: JavaMail version 1.5.5
DEBUG: getProvider() returning javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle]
DEBUG POP3: mail.pop3.rsetbeforequit: false
DEBUG POP3: mail.pop3.disabletop: false
DEBUG POP3: mail.pop3.forgettopheaders: false
DEBUG POP3: mail.pop3.cachewriteto: false
DEBUG POP3: mail.pop3.filecache.enable: false
DEBUG POP3: mail.pop3.keepmessagecontent: false
DEBUG POP3: mail.pop3.starttls.enable: false
DEBUG POP3: mail.pop3.starttls.required: false
DEBUG POP3: mail.pop3.apop.enable: false
DEBUG POP3: mail.pop3.disablecapa: false
DEBUG POP3: connecting to host "pop.goneo.de", port 995, isSSL false
<EOF>
javax.mail.AuthenticationFailedException: EOF on socket
at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:209)
at javax.mail.Service.connect(Service.java:388)
at javax.mail.Service.connect(Service.java:246)
at javax.mail.Service.connect(Service.java:195)
at MailInterface.getFolder(MailInterface.java:294)
at MailInterface.getFolder(MailInterface.java:253)
at MailWatch.checkMailAccount(MailWatch.java:75)
at MailWatch.checkMails(MailWatch.java:46)
at MailWatch.run(MailWatch.java:25)
Run Code Online (Sandbox Code Playgroud)
为什么我的 Raspberry 无法连接到主机,但我的 PC 可以?我该如何在树莓派上修复它?
pop3您可以通过转换为pop3s这样来解决这个问题:
properties.setProperty("mail.store.protocol", "pop3s");
properties.setProperty("mail.pop3s.host", popHost);
properties.setProperty("mail.pop3s.port", String.valueOf(openPort));
properties.setProperty("mail.pop3s.auth", "true");
properties.setProperty("mail.pop3s.socketFactory.class",
"javax.net.ssl.SSLSocketFactory" );
properties.setProperty("mail.pop3s.ssl.trust", "*");
store = session.getStore( "pop3s" );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10580 次 |
| 最近记录: |