2017-01-14 5 views
2

Es wird in Oracl sslnotes, dass STARTTLS-Befehl mithilfe von mail.imap.starttls.enable oder mail.smtp.starttls aktiviert werden soll. aktivieren, zu "wahr". "Wenn der Server den STARTTLS-Befehl unterstützt, wird er verwendet, nachdem er die Verbindung hergestellt hat und bevor er die Login-Informationen sendet". Also, habe ich diese wie vorgeschlagen: Eigenschaft "mail.imap.starttls.enable", "true" funktioniert nicht

props.setProperty("mail.imap.starttls.enable", "true"); 
props.setProperty("mail.store.protocol", "imap"); 
props.setProperty("mail.imap.auth", "true"); 
props.setProperty("mail.imap.host", "imap.mail.ru"); 

Session session = Session.getInstance(props, new javax.mail.Authenticator() { 
    protected PasswordAuthentication getPasswordAuthentication() { 
     return new PasswordAuthentication(login + "@" + server, passwd); 
    } 
}); 

session.setDebug(true); 
Store store = session.getStore(); 

store.connect(); 

aber hier ist der Dialog:

* OK Welcome 
A0 CAPABILITY 
* CAPABILITY IMAP4rev1 ID XLIST UIDPLUS UNSELECT MOVE STARTTLS LIST-STATUS LOGINDISABLED 
A0 OK CAPABILITY completed 
A1 LOGIN [email protected] tester <==== this string is edited 
A1 NO [PRIVACYREQUIRED] Command disabled. Please use STARTTLS first. 

Wie ich verstehe es gibt keinen STARTTLS Befehl durch Verbindungsfunktion zu senden (obwohl das Kommando senden „nach Herstellen einer Verbindung werden soll und bevor Sie Login-Informationen senden, wie es im Oracle-Handbuch versprochen wurde. Was soll ich tun, damit der Code diese STARTTLS sendet?

+0

Können Sie versuchen, "mail.imap.starttls.required" auch mit "true" anzugeben? –

Antwort

0

Gelöst durch Herunterladen der neuesten javax.mail.jar. Dank an alle.

Verwandte Themen