2017-01-14 10 views
2

Oracl sslnotesでは、mail.imap.starttls.enableまたはmail.smtp.starttlsを使用してSTARTTLSコマンドを有効にする必要があります。有効にして、 "true"にします。 "設定されている場合、サーバーがSTARTTLSコマンドをサポートしている場合は、接続を行った後、ログインするまでに 情報を送信すると、 が使用されます。 プロパティ "mail.imap.starttls.enable"、 "true"は機能しません

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(); 

が、ここでの対話です::示唆したように、私はこれを設定

* 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. 

私はそのコマンドが接続を行った後、」送信されなければならないのにコネクト機能によって送信一切STARTTLSコマンドは(ありません理解したようOracleのマニュアルで約束したように、ログイン情報を送信する前に)。では、コードでこのSTARTTLSを送信するにはどうすればよいですか?

+0

「mail.imap.starttls.required」をtrueに指定してみることもできますか? –

答えて

0

最新のjavax.mail.jarをダウンロードして解決しました。ありがとうございます。

関連する問題