2

ユーザーにメールを送信するアプリケーションを作成しています。

しかし、問題は、Transport.send(msg)メソッドを使用しているときに、次のエラーが表示されることです。

com.sun.mail.smtp.SMTPSendFailedException: 530-5.5.1 Authentication Required.

次のプロパティを使用してメールを送信しています。

        props.put("mail.transport.protocol", "smtp");
        props.put("mail.host", smtpHostName);
        props.put("mail.user", smtpUser);
        props.put("mail.password", smtpPass);
        props.put("mail.smtp.auth", smtpAuth == 1 ? true : false);
        props.put("mail.port", smtpPort);
        props.put("mail.smtp.starttls.enable", smtpTLS == 1 ? true : false);

この問題を解決するのを手伝ってください。

4

2 に答える 2

4

これを試して

props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
props.put("mail.debug", "false");
props.put("mail.smtp.port", port);

そして、セッションの作成中にこの認証コードを使用します

l_session = Session.getInstance(props,
                new javax.mail.Authenticator() {

                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication(username, password);
                    }
                });

        l_session.setDebug(true);
于 2012-06-25T12:30:03.540 に答える
1

私たちの環境は WebSphere 7 で実行されています。保護された smtps をサポートするには、SMTPS AUTHorization をオンにする正しいバリアントは次のとおりです。

「mail.smtp s .auth=true」

実際、逆コンパイルされたソースによると、メール セッションを承認する前に、WebSphere は、「mail.」+ transportProtocol + 「.auth」が「true」に設定されたプロパティがあるかどうかをチェックします。これは、gmail 経由でメールを送信するのに役立ちました。

于 2013-12-19T10:57:30.413 に答える