postfix的main.cf参数说明

发布时间:2021-01-07编辑:脚本学堂
很全面的postfix的main.cf参数说明,很实用,建议收藏。

很全面的postfix的main.cf参数说明,很实用,建议收藏。

外发域配置
参数:myorigin
说明:myorigin参数用于指定该服务器使用哪个域名来外发邮件。
     缺省的情况下myorigin采用本机主机名称(与参数myhostname相同)。
建议:在很小的网络中,采用缺省配置。而在Internet中,我们建议你保持myorigin与mydomain参数相同。也就是说采用该服务器所在的域名称。
例如:
myorigin = $myhostname (缺省)
myorigin = $mydomain (推荐)
 
接收域配置
参数:mydestination
说明:用于指定该服务器的使用哪个域名来接收邮件。
我们建议,系统安装好后,尽量不要改动这个参数。
例如:
缺省设置: mydestination = $myhostname localhost.$mydomain
广泛设置: mydestination = $myhostname localhost.$mydomain $mydomain
多DNS设置:mydestination = $myhostname localhost.$mydomain
www.$mydomain
ftp.$mydomain

转发限定
参数:mynetworks
relay_domains
mydestination
说明:转发限定在邮件系统中非常重要。C-Link为客户缺省配置了最安全的转发限定参数。
与转发限定的参数有很多:主要请参看mynetworks、relay_domains、mydestination。

系统故障报告配置
参数:
notify_classes
说明:该参数用于告知系统,在哪种情况下用哪种方式通知用户。
可以选择的参数类型有:
bounce 邮件原封不动弹回;
2bounce 将双份弹回邮件发送给Postmaster;
delay 将拖延的邮件的头部信息通知Postmaster;
policy 将被系统过滤掉的信息通知Postmaster;
protocol 将协议错误信息通知Postmaster;
resource 将因系统资源短缺而投递失败的信息通知Postmaster;
software 将因软错误而投递失败的信息通知Postmaster.
例如:
缺省: notify_classes = resource, software

主机名配置
参数:myhostname
说明:myhostname参数用于描述运行C-Link系统的服务器所符合规则的域名全称。在许多UNIX系统中,C-Link会自动检测出正确的名称。但在某些操作系统中需要手工配置,如Turbolinux
例如: myhostname = host.local.domain (local hostname is not FQDN)
myhostname = host.virtual.domain (virtual interface)
myhostname = virtual.domain (virtual interface)

原始域配置
参数:mydomain
说明:系统自己检测。暂不开放。

系统内部网络子网配置
参数:mynetworks_stype
mynetworks
说明:mynetworks_stype用于设定邮件系统内部子网的限制情况。通常情况下设定为subnet。在单机情况下设置为host.
设定的子网内部,邮件可以开放式转发。这对于配置邮件集群很有作用。但要小心使用,防止将邮件系统设置为OPEN RELAY。
例如:
mynetworks_style = subnet
mynetworks_style = host
mynetworks = 168.100.18Array.0/28, 127.0.0.0/8
 
统内部网络地址配置
参数:inet_interfaces
说明:inet_interfaces用于指定特定的网络地址。
系统保留,暂不开放。
例如:inet_interfaces = all
inet_interfaces = virtual.host.name (virtual domain)
inet_interfaces = $myhostname localhost.$mydomain (non-virtual mailer)

进程限制
参数:default_process_limit
说明:用于限定SMTP服务的最大同时连接数量。缺省为50。根据服务器配置及操作系统的不同,可以做非常宽限的配置。
例如:default_process_limit = 1024

本地同时同址分发限制
参数:local_destination_concurrency_limit
说明:系统保留,暂不开放。
例如:local_destination_concurrency_limit = 2
 
缺省同时同址分发限制
参数:default_destination_concurrency_limit
说明:系统保留,暂不开放。
例如:default_destination_concurrency_limit = 10

队列重发周期
参数:queue_run_delay
说明:用于设定队列处理程序对拖延邮件的扫描周期。缺省为1000秒。
例如:queue_run_delay = 1000

最长队列生命期
参数:maximal_queue_lifetime
说明:用于设定队列处理程序对滞留邮件的最长保存期。缺省为5天。
例如:maximal_queue_lifetime = 5

最小投递失败周期
参数:minimal_backoff_time
说明:用于设定队列处理程序对无法投递的邮件的最短巡回时间。缺省为1000秒。
例如:minimal_backoff_time= 1000

最长投递失败周期
参数:maximal_backoff_time
说明:用于设定队列处理程序对无法投递的邮件的最长巡回时间。缺省为4000秒。
例如:maximal_backoff_time= 4000

错误命令缓冲时间
参数:smtpd_error_sleep_time
说明:当SMTP服务端口接收到非法的命令时,系统将缓冲处理的时间间隔
这个参数对于防止恶意攻击非常有效。
例如:smtpd_error_sleep_time = 5
smtpd_error_sleep_time =0

软错误容忍次数
参数:smtpd_soft_error_limit
说明:SMTP服务所允许的软错误次数。这个参数对于防止恶意攻击非常有效。缺省10次。
例如:smtp_soft_error_limit = 5
硬误容忍次数

参数:smtpd_hard_error_limit
说明:SMTP服务所允许的硬错误次数。这个参数对于防止恶意攻击非常有效。缺省100次。
例如:smtp_hard_error_limit = 100

邮件头部过滤
参数:header_checks
说明:用于过滤邮件的头部信息。
例如:header_checks = regexp:/wdpost/filter/header_checks
文件header_checks内容遵循完全的regexp强大的字符串语法匹配规则。
如,/^to: *friend@public\.com$/ REJECT

SMTP连接控制过滤
参数:smtpd_client_restrictions
说明:smtpd_client_restrictions 参数的功能非常强大。它可以对连接到C-Link邮件服务器的各种客户端以及其他服务器进行限制。
该参数有以下的选项可以灵活配置设定。
reject_unknown_client 拒绝不能IP反向解析的地址;
permit_mynetworks 允许子网中的连接;
check_client_access maptype:mapname 检测在mapname文件中设定的规则;
reject_maps_rbl拒绝符合rbl行为条件的连接。
reject_unauth_pipelining 拒绝为认证的管道连接。
缺省状态下,该参数不做设定。
例如:smtpd_client_restrictions = HELO

握手要求控制过滤
参数:smtpd_helo_required
说明:设定C-Link邮件系统是否在SMTP连接时必须进行HELO或EHLO握手。缺省为不需要。
例如:smtpd_helo_required = no

HELO握手主机控制过滤
参数:smtpd_helo_restrictions
说明:当HELO握手必须时。该参数用于验证握手信息是否符合要求。
可以选择的参数有:
reject_invalid_hostname 拒绝错误的hostname。
permit_naked_ip_address 拒绝裸IP地址
reject_unknown_hostname 拒绝为被DNS A或MX纪录指定的域名。
reject_non_fqdn_hostname 拒绝不符合域名规则的域名。
check_helo_access maptype:mapname 根据mapname中设定的信息限制。

RFC821类型信封地址控制过滤
参数:strict_rfc821_envelopes
说明:设定C-Link系统是否必须只接受符合RFC821所定义的负荷规则的邮件地址。缺省为no.
例如:strict_rfc821_envelopes = yes

发信人地址限定过滤
参数:smtpd_sender_restrictions =
说明:设定发信人地址必须符合的规则。确实为任意。
可以设定为以下参数:
reject_unknown_sender_domain 拒绝为没有DNS A或MX纪录的发信人域名。
check_sender_access maptype:mapname 根据mapname文件中的规则设定。
reject_non_fqdn_sender 拒绝不符合规则的发信人地址。

收信人地址限定过滤
参数:smtpd_recipient_restrictions
说明:设定特殊的发信人地址参数限制。
可以选择的参数有:
check_relay_domains 检测转发域。
permit_auth_destination 允许经过认证的目的地。
reject_unauth_destination 拒绝为经过认证的目的地。
permit_mx_backup 允许反查询MX主机名称。
check_recipient_access maptype:mapname 根据mapname文件中设定的规则限制。
reject_unknown_recipient_domain 拒绝转发到没有DNS A或MX纪录的域名。
reject_non_fqdn_recipient 拒绝不符合规则的转发目标。
reject_unknown_sender_domain 拒绝没有IP反解析纪录的发件人域名。
ETRN命令限定过滤
系统保留,不开放。

反垃圾邮件组织过滤
参数:maps_rbl_domains
说明:这是一个非常有特色的反垃圾邮件功能。这个参数通常设定为
maps_rbl_domains = blackholes.mail-abuse.org
如果RBL lookup打开,系统回自动与全球著名的反垃圾邮件组织mail-abuse进行同步。组织来自mail-abuse所列举的不安全的电子邮件服务器。
在缺省状态下这个功能是关闭的。

SMTP对话行长度限定过滤
参数:line_length_limit
说明:设定SMTP所接受的最长字符行的长度。
缺省为2048字节。

邮件头部长度限定过滤
参数:header_size_limit
说明:设定SMTP所接受的最长邮件头部信息的长度。
缺省为102400字节

收件人数量限定过滤
参数:extract_recipient_limit
说明:限制扩展的收件人数量限制。这通常用于防止采用"sendmail -t"的方式来进行的攻击行为。

邮件长度限定过滤
参数:message_size_limit
说明:这个参数很重要。用于限定系统所接受的最大的单封邮件长度。缺省为10240000 字节。
例如:message_size_limit = 20480000

弹回邮件长度过滤
参数:bounce_size_limit
说明:这个参数非常重要,用于设定弹回的最大邮件尺寸。缺省为50000 字节。