Log4j2 Gmail SMTP Appender

时间:2018-05-05 22:06:33

标签: java xml smtp gmail log4j2

我遇到问题,我无法以xml格式找到SMTP Appender的参数。

MySqlDataReader reader;

            string query = "INSERT INTO ANIMALES VALUES (" + id + ",FALSE,'" + especie + "','" + nombre + "','" + fechanac + "','" + fecharev + ");";

            var cmd = new MySqlCommand(query, dbCon.Connection);
            reader = cmd.ExecuteReader();

            MessageBox.Show("Animal añadido");
            reader.Close();

所以我无法找到以下参数:mail.smtp.ssl.enable& mail.smtp.starttls.enable。

我收到此错误:

<SMTP name="MailAppender"
          subject="Great Notes [PROD]"
          to="example@example.com"
          from="example@example.com"
          smtpHost="smtp.gmail.com"
          smtpPort="587"
          bufferSize="50"
          smtpUsername="example@example.com"
          smtpPassword="*********"
          smtpProtocol="smtps"
          mail.smtp.ssl.enable="true"
          mail.smtp.starttls.enable="true"
    >

        <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
        <PatternLayout>
            <Pattern>${LOG_PATTERN}</Pattern>
        </PatternLayout>
    </SMTP>

1 个答案:

答案 0 :(得分:2)

我能够使用以下appender配置并在测试中发送一些ERROR级别消息:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">

<SMTP name="SmtpAppender" 
        to="myemail@gmail.com" 
        from="myemail@gmail.com"
        smtpHost="smtp.gmail.com" 
        smtpPort="465"
        bufferSize="4"
        smtpUsername="myemail@gmail.com"
        smtpPassword="myPassword"
        smtpProtocol="smtps"
        smtpDebug="true"
        ignoreExceptions="false" 
        subject="Test">

  </Appenders>

  <Loggers>
    <Root level="ERROR">
      <AppenderRef ref="SmtpAppender"/>
    </Root>

  </Loggers>
</Configuration>

但是,您必须关闭执行发送的Gmail帐户上的简单身份验证设置。否则,它将阻止登录/发送。