3

以下は私が使用しているコードです:

        Properties props = System.getProperties();
        props.put("mail.smtp.auth", "true");
        // props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", server);
        props.put("mail.smtp.port", "25");
        Session session = Session.getInstance(props);
        Transport transport = null;
        try {
            transport = session.getTransport("smtp");
            session.setDebug(true);
            transport.connect(server, username, password);
        } catch(AuthenticationFailedException message){
            System.out.println("Authentication Failed... terminating!");
            System.out.println(message);
            System.exit(16);
        }

残念ながら、セッション ハンドシェイクを見ることができません。間違った場所に setDebug がありますか?

4

1 に答える 1

2

はい、Transport オブジェクトを作成する前に設定する必要があります。1 行上に移動します。

JavaMail 1.4.5 以降では、認証交換の詳細がデフォルトで表示されないことにも注意してください。それを確認するには、「mail.debug.auth」を「true」に設定する必要があります。

于 2012-11-07T20:41:49.940 に答える