Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java logbackappender和Postfix_Java_Email_Postfix Mta_Logback_Appender - Fatal编程技术网

Java logbackappender和Postfix

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,用于过滤低于错误级别的任何日志,并使用这些日志发送电子邮件。 这就是我的logback.xml文件与appender部分的相似之处:

<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附加程序看到的实际错误。