我正在尝试添加一个icloud帐户。我正在使用javamail。传出连接正在运行。但是传入的测试失败了
IMAP(接收邮件服务器)信息: 服务器名称:imap.mail.me.com 安全类型:选择SSL 港口:993 用户名:myid@icloud.com 密码:您的iCloud密码
props.setProperty("mail.store.protocol", sProtocol);
props.setProperty("mail." + sProtocol + ".host", acct.sIncomingHost);
props.setProperty("mail." + sProtocol + ".port",
acct.sIncomingHostPort);
props.setProperty("mail." + sProtocol + ".timeout", "30000");
props.setProperty("mail." + sProtocol + ".connectiontimeout",
"30000");
if (acct.iIncomingHostEncryption == Constants.ENCRYPT_TLS) {
Log.i(TAG, "STARTTLS...");
props.put("mail." + sProtocol + ".starttls.enable", "true");
props.setProperty("mail." + sProtocol + ".ssl.trust", "*");
props.setProperty("mail." + sProtocol
+ ".ssl.socketFactory.class",
"com.myproject.SEMPSSLSocketFactory");
props.setProperty("mail." + sProtocol
+ ".ssl.socketFactory.fallback", "false");
} else if (acct.iIncomingHostEncryption == Constants.ENCRYPT_SSL) {
Log.i(TAG, "Enable SSL...");
props.put("mail." + sProtocol + ".ssl.enable", "true");
}
它适用于gmail / yahoo帐户。我认为需要更改属性集。请帮我解决这个问题。
我到了 09-30 15:09:25.249:W / System.err(1095):idg.javax.mail.AuthenticationFailedException:[AUTHENTICATIONFAILED]身份验证失败 09-30 15:09:25.249:W / System.err(1095):at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:663)
我的凭据是正确的,因为邮件是使用smtp成功发送到此帐户的。获取此检查传入主机
答案 0 :(得分:0)
摆脱socket factory stuff,然后发布debug output。
答案 1 :(得分:0)
它使用了以下属性
props.put(“mail。”+ sProtocol +“.starttls.enable”,“true”);
props.setProperty("mail." + sProtocol + ".ssl.trust", "*");
props.setProperty("mail." + sProtocol
+ ".ssl.socketFactory.class",
"com.myproject.MySSLSocketFactory");
props.setProperty("mail." + sProtocol
+ ".ssl.socketFactory.fallback", "false");