1.如何让postfix找到最佳MX记录
postfix缺省会按DNS上面定义的优先度查找所有MX地址,对应MX记录的服务器一应答,postfix就停止搜索并投递信件。
但是如果对方服务器如果返回状态码4xx(拒绝信件)或者5xx(延迟)来拒绝连接,那么postfix就会延迟这封信的发送,而不是继续寻找可用的MX记录。
如何让postfix能继续寻找MX记录呢?在main.cf设置:
smtp_skip_4xx_greeting = yes
smtp_skip_5xx_greeting = yes
然后执行postfix reload。
smtp_skip_5xx_greeting只有在20000104后面的版本才有提供。
2.postfix如何设置取消Delivered-To头部信息
很多MUA在配置文件里面可以设置禁止出现Delivered-To:头部信息(例如~/.mailrc和/usr/lib/Mail.rc) 在邮件列表里面,Delivered-To头部信息会妨碍列表使用不想在外发邮件中出现的“secret alias”,所以建议在SMTP端口上面使用正规表达式过滤,在main.cf中设置:
smtpd_recipient_restrictions =
... regexp:/etc/postfix/access_regexp ...
smtpd_recipient_restrictions =
... pcre:/etc/postfix/access_regexp ...
/etc/postfix/access_regexp:
/^(.*)-outgoing@(.*)/ 554 Use $1@$2 instead
prepend_delivered_header配置参数也控制Delivered-To的使用。缺省的设置是command, file, forward(在把信件发送给命令,发送给文件或者转发的时候使用Delivered-To)。不推荐在转发邮件的情况下取消Delivered-To头部信息。
3. 如何让postfix支持maildir
在main.cf中设置:
home_mailbox = Maildir/
任何相对路径末尾加上“/”号都表示打开了maildir支持,home_mailbox设置的值将会追加到用户的home目录,也就是如果你指定home_mailbox = mymail/,那么postfix也认为打开了maildir支持,并把信件投递到用户home目录下的mymail目录中。
4. 如何在postfix中使用procmail
在main.cf中设置:
mailbox_command = /path/to/procmail
或者
/etc/postfix/main.cf:
mailbox_command = /path/to/procmail -a $EXTENSION
如果可以的话,避免使用shell的关键字符,比如"$",IFS或者"%26amp;%26amp;",因为它们会迫使postfix运行一个shell进程。
5. postfix如何设置发送邮件延迟通知
sendmail如果有信件因故延迟发送,每4个小时就会给发送者发信提示信件延迟发送。postfix能不能设置呢?
在main.cf中设置:
delay_warning_time = 4
因为考虑到信件流量的问题,postfix缺省不发送通知。
6. 如何增加postfix的进程数
下面的设置依赖于内核版本:
§ 要在引导的时候修改参数,修改/etc/sysctl.conf添加:
fs.file-max = 16384
kernel.threads-max = 2048
§ 要在系统运行的时候修改参数,以root身份执行下面的命令
# echo 16384
/proc/sys/fs/file-max
# echo 2048
/proc/sys/kernel/threads-max
来自:linuxaid
7. 如何在拨号环境下使用postfix
有台拨号上网的机器,如何在它上面设置postfix使之在拨号成功后可以发送队列中的信件?
在postfix站点上有个讨论主题,解决方法是在main.cf中做如下设置:
# your ISP's SMTP server name or IP address goes here
relayhost = smtprelay.someprovider.com
#
# this line disables spontaneous PPP connections
defer_transports = smtp
#
# this line disables dns lookups for mail. As you are using a relay you really don't need DNS. If you use this you should use an ip address for $relayhost.
disable_dns_lookups = yes
并在拨号脚本中加入:
/usr/sbin/sendmail -q
8. 有什么适合postfix的日志分析工具
James S. Seymour用perl写了一个叫pflogsumm.pl的脚本,可以到这里下载:
http://jimsun.linxnet.com/postfix_contrib.html
然后可以在crontab中添加下面的内容:
0 2 * * * /path/to/pflogsumm.pl -d today /var/log/maillog | mail -s "Mail Report" you@somewhere.com
定时把分析报告寄给你。
9. 哪里有最适合redhat的postfix rpm包
有很多人在单独开发postfix的各种rpm版本,但是对Redhat Linux兼容性最好的simon mudd开发的版本,可以到:http://postfix.wl0.org/en/available-packages/
取得这些rpm。
10. 启动postfix的时候提示unsupported dictionary type: dbm,怎么办
原因是在main.cf中使用了错误的db类型,修改main.cf,把所有出现dbm的地方都替换成hash。
,