我有一个问题,我找不到xml格式的SMTP Appender的参数。
<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>
所以我找不到以下参数: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
最佳答案
我能够使其与以下附加程序配置一起使用,并在测试中发送一些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帐户上关闭简单身份验证设置。否则,它将阻止登录/发送。