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?
Können Sie versuchen, "mail.imap.starttls.required" auch mit "true" anzugeben? –