Java logbackappender和Postfix
我正在尝试创建一个appender,用于过滤低于错误级别的任何日志,并使用这些日志发送电子邮件。 这就是我的logback.xml文件与appender部分的相似之处:Java logbackappender和Postfix,java,email,postfix-mta,logback,appender,Java,Email,Postfix Mta,Logback,Appender,我正在尝试创建一个appender,用于过滤低于错误级别的任何日志,并使用这些日志发送电子邮件。 这就是我的logback.xml文件与appender部分的相似之处: <appender name="EMAIL" class="ch.qos.logback.classic.net.SMTPAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <!-
<appender name="EMAIL" class="ch.qos.logback.classic.net.SMTPAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<!-- deny all events with a level below ERROR -->
<level>ERROR</level>
</filter>
<smtpHost>${smtpHost}</smtpHost>
<smtpPort>${smtpPort}</smtpPort>
<STARTTLS>true</STARTTLS>
<username>${username}</username>
<password>${password}</password>
<to>${mailingList}</to>
<from>${username}</from>
<subject>%logger{20} - %m</subject>
<layout class="ch.qos.logback.classic.html.HTMLLayout"/>
<cyclicBufferTracker class="ch.qos.logback.core.spi.CyclicBufferTrackerImpl">
<bufferSize>1</bufferSize>
</cyclicBufferTracker>
</appender>
其中smtpHost是localhost,用户名和密码属于我在运行应用程序的服务器上创建的用户。
它似乎不起作用-没有发送电子邮件
但是,当我为另一台服务器(即smtpHost=smtp.gmail.com)设置参数时,我收到了预期的电子邮件
我想这意味着我在服务器上配置后缀的方式有问题。
我很乐意在这里发布main.cf文件中的任何信息,我只是不想全部发布。这是一个很长的目标,但这里有一个想法。Posfix通常配置为拒绝来自未发出有效helo_主机名的发件人的电子邮件。postfix的main.ch是否具有与以下类似的指令
smtpd_helo_restrictions =
reject_non_fqdn_helo_hostname,
reject_invalid_helo_hostname
smtpd_sender_restrictions =
reject_non_fqdn_sender,
reject_unknown_sender_domain
如果是这样,您可能希望将的localhost属性设置为合理的值。顺便说一下,${username}可能不应该同时用于设置和后缀
顺便说一句,将element的debug属性设置为true以在控制台上查看logback的内部消息几乎总是一个好主意。例如:
<configuration debug="true">...</configuration>
这是一个远大的希望,但这里有一个想法。Posfix通常配置为拒绝来自未发出有效helo_主机名的发件人的电子邮件。postfix的main.ch是否具有与以下类似的指令
smtpd_helo_restrictions =
reject_non_fqdn_helo_hostname,
reject_invalid_helo_hostname
smtpd_sender_restrictions =
reject_non_fqdn_sender,
reject_unknown_sender_domain
如果是这样,您可能希望将的localhost属性设置为合理的值。顺便说一下,${username}可能不应该同时用于设置和后缀
顺便说一句,将element的debug属性设置为true以在控制台上查看logback的内部消息几乎总是一个好主意。例如:
<configuration debug="true">...</configuration>
我自己不使用logback,但我认为它可以配置为发出内部调试信息。我会尝试启用它,以查看您是否可以获得SMTP appender看到的实际错误。我自己不使用logback,但我假设可以将其配置为发出内部调试信息。我将尝试启用它,以查看您是否可以获得SMTP附加程序看到的实际错误。