我在队列内容过滤器之后使用 Postfix 来过滤传入和传出的电子邮件。Postfix 使用 SMTP 将每封邮件注入内容过滤器。然后内容过滤器扫描邮件并将邮件重新注入后缀,就像这里一样:
http://www.postfix.org/FILTER_README.html#advanced_filter
我的 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 告诉我的内容过滤器是否已通过身份验证的用户发送了电子邮件,如果是,是哪个用户?