6

電子メールを送信するための私のコードは次のとおりです。

    public void sendMail() 
{
    try
    {
        // Propiedades de la conexión
        Properties props = new Properties();
        props.put("mail.transport.protocol", "smtp");
        props.put("mail.smtp.host", SMTP_HOST_NAME);
        props.put("mail.smtp.port", SMTP_PORT);
        props.put("mail.smtp.auth", "true");

        Authenticator auth = new SMTPAuthenticator();
        Session mailSession = Session.getDefaultInstance(props, auth);

        Transport transport = mailSession.getTransport();

        MimeMessage message = new MimeMessage(mailSession);
        Multipart multipart = new MimeMultipart("alternative");

        BodyPart text = new MimeBodyPart();
        text.setContent(mailMessage,"text/html; charset=UTF-8");

        multipart.addBodyPart(text);

        message.setContent(multipart);

        if(friendlyName != null){
            //String send = friendlyName + " <" + sender + ">";
            message.setFrom(new InternetAddress(sender, friendlyName)); 
        }else{
            message.setFrom(new InternetAddress(sender));
        }

        message.setSubject(subject,"UTF-8");
        message.addRecipient(Message.RecipientType.TO,
                new InternetAddress(receiver));

        transport.connect();
        transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
        transport.close();


    }catch (Exception e) {
        // TODO: handle exception
    }

}

メールを送信すると、コンソール (または catalina.out) に次の出力が表示されます。

>>>>>送信データ EHLO xxxxxx<<<<<<

>>>>>データ送信中 AUTH LOGIN<<<<<<

>>>>>送信データxxxxxxxxxxxxxxxxxxxx<<<<<<

>>>>>送信データxxxxxxxxxxxxxx<<<<<<

>>>>>データ送信中 MAIL FROM: <<<<<<

>>>>> データ送信 RCPT TO: <<<<<<

>>>>>送信データ DATA<<<<<<

>>>>>データ送信中 <<<<<<

>>>>>送信データ.<<<<<<

>>>>>データ送信中 QUIT<<<<<<

この出力を無効にするにはどうすればよいですか? 私の catalina.out の成長が速すぎます。Setdebug(false) メソッドは私の問題を解決しません。

4

2 に答える 2

7

春にこれは私のために働いた:

    <property name="javaMailProperties">
        <props>
            <prop key="mail.transport.protocol">smtp</prop>
            <prop key="mail.smtp.auth">false</prop>
            <prop key="mail.smtp.starttls.enable">true</prop>
            <prop key="mail.debug">false</prop>
        </props>
    </property>

バージョン 1.4.7+ でテスト済み

于 2013-11-26T18:40:32.090 に答える
2

メソッドとは関係ありませんsetDebug
javax.mail ライブラリのバージョン 1.40 を使用していましたが、まったく同じ問題がありました。クラスには、デバッグ ログとは関係なく、常にコンソールにデータを書き込む次 System.out.println(">>>>>Sending data " + data + "<<<<<<");のコード行があります。SMTPTransport

ライブラリのバージョン 1.5 を入手するだけで問題は解決します。Maven リポジトリ
から取得できます。

于 2013-05-06T10:32:49.130 に答える