1. 常用设置
避免因为用户在群组而重复收件
如果接收者既在别名中,又在发件人中,那么接收者会重复收件。
(用户如果在别名中,那么邮件日志中会出现to=test@test.net, orig_to=all@test.net,添加下面设置后不会有原始收件人。)
enable_original_recipient = no
决定一封邮件最多可以有几位收件人,默认值是1000。
smtpd_recipient_limit = 100
要查看一个参数默认值可以通过命令:
postconf -d smtpd_recipient_limit
结果:
smtpd_recipient_limit = 1000
单封邮件最大限制
默认单位bytes,这里设置50MB。
message_size_limit = 52428800
队列时限
队列扫描间隔决定于queue_run_delay参数,其默认值为1000秒,投递最长时间为maximal_queue_lifetime的默认值为5天,
重新投递等待邮件的频繁程度的上下限,分别由minimal_backoff_time(300秒)与maximal_backoff_time(4000秒)这两个参数决定。
maximal_queue_lifetime = 1d
退信发送的时间上限(这里默认是5d,必要调整短些是因为某些伪造邮箱滥发邮件,导致退信无法发送,长时间停留浪费资源。)
bounce_queue_lifetime = 1h
2. 日志设置
修改默认的日志目录
vi /etc/rsyslog.conf
修改如下配置
mail.* -/var/log/mail/maillog
(默认是/var/log/maillog,修改的原因在于,日志分割放在一个目录较好管理。)
默认情况下,日志每个星期生成一个新文件,保留4个文件。
vi /etc/logrotate.d/syslog
添加如下配置(这里设置新文件权限为0644,默认是0600。)
保留50个份日志,每星期生成一份。
/var/log/mail/maillog
{
rotate 50
weekly
missingok
sharedscripts
create 0664 root root
postrotate
/bin/kill -HUPcat /var/run/syslogd.pid 2> /dev/null
2> /dev/null || true
endscript
}
3. 日志分析
下载pflogsumm,移动到/usr/local/bin,添加一个任务计划,每天0点0分发送日志分析到用户billy。
编辑当前用户任务计划
crontab -e
0 0 * * * /usr/local/bin/pflogsumm -d yesterday /var/log/mail/maillog 2>&1 |/usr/bin/mailx -s “uname -n
daily mail stats” billy