2016-03-30 20 views
2

ile birlikte saklamak için bağlanın Ben sunucuya bağlı olan imap deposuna bağlanmayı deniyorum. Örneğin, ssl ile 143 ve ssl olmadan 993 gibi birden fazla sunucu var. 143 ssl sunucusuna bağlanmaya çalıştığımda düz bağlantı diyor. Böyle depolamak için bir bağlantı var mı?Java imap, ssl

Ve java'da javamail dışında başka bir IMAP var mı?

Bazı kod aşağıda->

Properties props = System.getProperties(); 
String imapProtocol = server.getImapSsl() != null && server.getImapSsl() == true ? "imaps" : "imap"; 
props.put("mail.store.protocol", imapProtocol); 
props.put("mail." + imapProtocol + ".port", server.getImapPort()); 
props.put("mail." + imapProtocol + ".host", server.getImapHost()); 

javax.mail.Session mailSession = javax.mail.Session.getInstance(props, null); 
Store store = mailSession.getStore(); 
store.connect(server.getImapHost(), server.getImapPort(), username, password); 

GÜNCELLEME (DEBUG) ->

DEBUG IMAP: enable STARTTLS 
DEBUG IMAP: closeFoldersOnStoreFailure 
DEBUG IMAP: trying to connect to host "imap.itheme.mn", port 143, isSSL false 
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE NAMESPACE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready. 
DEBUG IMAP: AUTH: PLAIN 
DEBUG IMAP: AUTH: LOGIN 
DEBUG IMAP: protocolConnect login, host=imap.somemail.mn, [email protected], password=<non-null> 
A0 STARTTLS 
A0 OK Begin TLS negotiation now. 
A1 CAPABILITY 
* CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE NAMESPACE AUTH=PLAIN AUTH=LOGIN 
A1 OK Pre-login capabilities listed, post-login capabilities have more. 
DEBUG IMAP: AUTH: PLAIN 
DEBUG IMAP: AUTH: LOGIN 
DEBUG IMAP: AUTHENTICATE LOGIN command trace suppressed 
DEBUG IMAP: AUTHENTICATE LOGIN command result: A2 NO [AUTHENTICATIONFAILED] Authentication failed. 

cevap

1

Geriye noktası numaralarını var ediyoruz. 143 düz metin.

+0

Üzgünüz yeterince açık olmasaydım, sunucu yapılandırması 143 numaralı bağlantı noktasına ayarlandı, ancak aynı zamanda ssl gerektirir. Sunucu yapılandırmasını değiştiremiyorum, benim değil. Bu durumda ne yapabiliriz? –

+0

Birisi sunucu yapılandırmanızı bozdu. Ve/veya sunucu yapılandırmasını yanlış anlıyorsunuz. 143 ** numaralı bağlantı noktasında ** SSL ile bağlanıyorsanız ve bunun düz bir metin bağlantısı olduğundan şikayet ediyorsanız, tahmin edin, muhtemelen gerçekten bir metin bağlantısıdır. Bunu dene. –

+0

Ayrıca, "imap" protokolünü kullanarak ve [mail.imap.ssl.enable] ayarını yaparak programınızı basitleştirebileceğinizi de unutmayın (https://javamail.java.net/nonav/docs/api/com/sun/ uygun şekilde posta/imap/package-summary.html # mail.imap.ssl.enable); JavaMail port numarasını seçecektir, böylece doğru varsayılan port numaralarını kullandığınızı varsaymanız gerekmeyecektir. [Mail.imap.starttls.enable] adresini de kullanmak isteyebilirsiniz (https://javamail.java.net/nonav/docs/api/com/sun/mail/imap/package-summary.html#mail.imap .starttls.enable) Eğer sunucunuz bunu düz metin bağlantıları ile gerektirir. –