Postgrey 日志选项

Postgrey 日志选项

我正在运行 Debian 12、Postfix 和 Postgrey。我似乎无法让 Postgrey 记录到 mail.log。我正在使用 syslog-ng,之前使用 rsyslog。我有指向 mail.log 文件的邮件,在 /etc/default/postgrey 中,我尝试过:

POSTGREY_OPTS="--inet=127.0.0.1:10023 --greylist-action=ACTION --syslog-facility mail"

也尝试过--syslog-facility=mail,但似乎没有什么可以强制将其转到 /var/log/mail.log 我正在尝试将其转到 mail.log,以便 Monitorix 将其绘制成图表。任何帮助都将不胜感激。

答案1

一旦你将它添加到你的 postfix main.cf 中,它就会自动记录。取决于你在 postfix 中的日志设置。

smtpd_recipient_restrictions 至

check_policy_service inet:127.0.0.1:10023

你的 /etc/default/postgre 应该像这样

POSTGREY_OPTS="--inet=127.0.0.1:10023 --delay=60"

https://faq.ip-projects.de/en-us/10-server/40-postgrey-postfix-spam-filter-on-debian-ubuntu

编辑:更新

我已经通过你的 pastebin 进行了 grep,这是邮件的配置

destination d_mail { file("/var/log/mail.log"); };
# This files are the log come from the mail subsystem.
destination d_mailinfo { file("/var/log/mail.info"); };
destination d_mailwarn { file("/var/log/mail.warn"); };
destination d_mailerr { file("/var/log/mail.err"); };
filter f_debug { level(debug) and not facility(auth, authpriv, news, mail); };
                    not facility(auth,authpriv,cron,daemon,mail,news); };
filter f_mail { facility(mail) and not filter(f_dbg); };
filter f_syslog3 { not facility(auth, authpriv, mail) and not filter(f_dbg); };
filter f_cother { level(debug, info, notice, warn) or facility(daemon, mail); };
log { source(s_src); filter(f_mail); destination(d_mail); };
#log { source(s_src); filter(f_mail); filter(f_info); destination(d_mailinfo); };
#log { source(s_src); filter(f_mail); filter(f_warn); destination(d_mailwarn); };
#log { source(s_src); filter(f_mail); filter(f_err); destination(d_mailerr); };

  • 修改 postgrey 配置(通常位于 /etc/postgrey/postgrey.conf)并输入

LOGFILE="/var/log/postgrey.log"并重启postgre服务

还要检查 postgrey 正在记录哪个 syslog 设备。

  • 确保/etc/rsyslog.d/postgrey.conf有这个 if $programname == 'postgrey' then /var/log/mail.log 并重新启动 rsyslog

相关内容