Приложение Log4j2 Gmail для SMTP

У меня проблема, я не могу найти параметры SMTP Appender в формате xml.

<SMTP name = "MailAppender"
          subject = "Great Notes [PROD]"
          to = "[email protected]"
          from = "[email protected]"
          smtpHost = "smtp.gmail.com"
          smtpPort = "587"
          bufferSize = "50"
          smtpUsername = "[email protected]"
          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>

Поэтому я не могу найти параметры для: mail.smtp.ssl.enable и mail.smtp.starttls.enable.

Я получаю такую ​​ошибку:

ERROR SMTP contains invalid attributes "mail.smtp.ssl.enable", "mail.smtp.ssl.enable"
ERROR SMTP contains invalid attributes "mail.smtp.starttls.enable", "mail.smtp.ssl.enable"



Unrecognized SSL message, plaintext connection? javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 587;


ERROR An exception occurred processing Appender MailAppender org.apache.logging.log4j.LoggingException: Error occurred while sending email

Эти две опции недоступны на SMTPAppender: logging.apache.org/log4j/2.0/log4j-core/apidocs/org/apache/…

Dovmo 08.05.2018 21:35

@Dovmo, я нашел, как переопределить SMTPAppender для log4j horrikhalid.wordpress.com/2010/06/20/…. Можно ли его переопределить для log4j2? Не могли бы вы помочь мне?

dumi7ru 10.05.2018 15:07

Похоже, здесь есть несколько хороших инструкций: tgerm.com/2010/05/log4j-smtpappender-gmail-custom.html Дайте мне знать, если у вас возникнут проблемы с этим

Dovmo 10.05.2018 16:08

@ Довмо, ты что-нибудь нашел?

dumi7ru 11.05.2018 11:16

вы видели ссылку и попробовали?

Dovmo 11.05.2018 15:33

Да, не работает, потому что в SmtpAppender.class нет защищенный сеанс createSession () ...

dumi7ru 11.05.2018 15:39

Правильно, эти инструкции предназначены для Log4J 1, я только что заметил, вам нужно для v2

Dovmo 11.05.2018 15:45

Подскажите, пожалуйста, как это сделать?

dumi7ru 11.05.2018 15:47

Да, я еще разберусь с этим и вернусь к тебе об этом.

Dovmo 11.05.2018 15:48

Большое спасибо!

dumi7ru 11.05.2018 15:49
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
10
2 772
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Мне удалось заставить его работать со следующей конфигурацией приложения и отправлять некоторые сообщения уровня ERROR в тесте:

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

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

  </Appenders>

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

  </Loggers>
</Configuration>

Однако вам придется отключить простую настройку аутентификации в учетной записи Gmail, выполняющей отправку. В противном случае он заблокирует вход / отправку.

Я все еще получаю сообщение об ошибке «Имя пользователя и пароль не приняты». Как отключить простую аутентификацию?

lokesh kumar 04.02.2020 08:39

Другие вопросы по теме