Postfix FAQ linuxaid版

12/3/2006来源:Qmail人气:6508

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. Seymourperl写了一个叫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. 哪里有最适合redhatpostfix 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

,