Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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/1/visual-studio-2008/2.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
获取后缀以在队列内容筛选器之后将SMTP身份验证传递给_Smtp_Postfix Mta_Smtp Auth - Fatal编程技术网

获取后缀以在队列内容筛选器之后将SMTP身份验证传递给

获取后缀以在队列内容筛选器之后将SMTP身份验证传递给,smtp,postfix-mta,smtp-auth,Smtp,Postfix Mta,Smtp Auth,我正在使用后缀后队列内容过滤器来过滤传入和传出的电子邮件。Postfix使用SMTP将每个邮件注入内容筛选器。然后内容过滤器扫描邮件并将邮件重新注入postfix,如下所示: 我的master.cf文件如下所示: ## After Queue Content Filter filter unix - - n - 10 smtp -o smtp_send_xforward_command=yes

我正在使用后缀后队列内容过滤器来过滤传入和传出的电子邮件。Postfix使用SMTP将每个邮件注入内容筛选器。然后内容过滤器扫描邮件并将邮件重新注入postfix,如下所示:

我的master.cf文件如下所示:

## After Queue Content Filter
filter      unix  -       -       n       -       10      smtp
            -o smtp_send_xforward_command=yes
            -o disable_mime_output_conversion=yes
            -o smtp_generic_maps=
            -o myhostname=sample.hostname.com

## Re-injection listener
reinject unix  n       -       n       -       10      smtpd
    -o content_filter=
    -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks,no_milters
    -o smtpd_helo_restrictions=
    -o smtpd_client_restrictions=
    -o smtpd_sender_restrictions=
    -o smtpd_recipient_restrictions=permit_mynetworks,reject
    -o mynetworks=127.0.0.0/8
    -o smtpd_authorized_xforward_hosts=127.0.0.0/8
现在,这就像预期的一样,一切似乎都很好。。。。除了 我需要知道电子邮件是否使用SMTP身份验证发送。 现在,使用smtp_send_xforward_command=yes为我提供了许多有关远程发件人的信息,但没有提供有关电子邮件是否已通过身份验证的任何信息。有没有办法让Postfix告诉我的内容过滤器,如果一封电子邮件是由经过身份验证的用户发送的,如果是,是哪个用户发送的?

您可以使用:


将用户名添加到收到的标题中,内容过滤器可以对其进行分析以确定身份验证。

Wow。。这确实有效。我唯一关心的是。。。因为这只是后缀添加的一个标题。我认为任何服务器都有可能添加相同的标题,从而使我的内容过滤器相信电子邮件已经过身份验证,而实际上没有,或者可能是由其他服务器进行了身份验证。对于验证标头的有效性以及它是否由我的postfix服务器而不是其他服务器添加,您有何想法?假设这是入站邮件,您应该只检查接收最多的标头,该标头应该来自您的服务器。我正在检查传入和传出的标头。如果我只检查传入的邮件,则除非用户在本地发送邮件,否则不会有SMTP身份验证。所以,尽管如此,我不认为这对外向的人有什么不同,对吗?我是否可以假设,无论用户是否获得smtp授权,我的服务器始终会添加接收次数最多的头?我想我需要测试一下…似乎我的服务器总是添加接收到的最上面的头。。。所以这是一个我可以信任的标题。它不是经过身份验证就是没有。。。。谢谢干杯