Linux认证辅导:RHEL5下Postfix配置
1./etc/postfix/main.cf代码
smtp_delay_reject=no
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
myhostname = mail.unicomsys.cn
mydomain = unicomsys.cn
myorigin = $mydomain
inet_interfaces = 10.100.143.254
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
unknown_local_recipient_reject_code = 450
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.3.3/samples
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_recipient_restrictions = permit_sasl_authenticated, reject
always_bcc = [email protected] #备份邮件
2.说明
修改/etc/postfix/main.cf的配置:
myhostname = mail.cngnu.org
指定运行postfix服务的邮件主机的主机名称(FQDN名)
mydomain = cngnu.org
指定运行postfix服务的邮件主机的域名称
myorigin = $mydomain
设置由本台邮件主机寄出的每封邮件的邮件头中mail from的地址
inet interfaces = all
默认情况下,inet interfaces参数的值被设置为localhost,这表明只能在本地邮件主机上寄信。如果邮件主机上有多个网络接口,而又不想使全部的网络接口都开放Postfix服务,就可以用主机名指定需要开放的网络接口。不过,通常是将所有的网络接口都开放,以便接收从任何网络接口来的邮件,即将inet interfaces参数的值设置为“all”。
mydestination = $mydomain,$myhostname
只有当发来的邮件的收件人地址与该参数值相匹配时,Postfix才会将该邮件接收下来。例如,这里将该参数值设置为$mydomain,$myhosname,表明无论来信的收件人地址是[email protected](其中,XXX表示某用户的邮件账户名),还是[email protected],Postfix都会接收这些邮件。
mynetworks_style = host
mynetworks = 127.0.0.0/8,192.168.1.0/24
设置可转发(Relay)哪些网络的邮件.可以使用mynetworks参数来设置。可将该参数值设置为所信任的某台主机的IP地址,也可设置为所信任的某个IP子网或多个IP子网(用“,”或者“”分隔)。这里,将mynetworks参数值设置为192.168.16.0/24,则表示这台邮件主机只转发子网192.168.16.0/24中的客户端所发来的邮件,而拒绝为其他子网转发邮件。
relay_domains = gdvcp.net
mynetworks参数是针对邮件来源的IP来设置的,而relay_domains参数则是针对邮件来源的域名或主机名来设置的。例如,将该参数值设置为gdvcp.net,则表示任何由域gdvcp.net发来的邮件都会被认为是信任的,Postfix会自动对这些邮件进行转发。
virtual_alias_domains = dzxx.cn,panda.com
用来指定虚拟别名域的名称
virtual_maps = hash:/etc/postfix/virtual #,mysql:/etc/postfix/virtual.mysql
含有虚拟别名域定义的文件路径。
alias_maps = hash:/etc/aliases
指定含有用户别名定义的文件路径
alias_database = hash:/etc/aliases
指定别名表数据库文件路径。
home_mailbox = Maildir/
mailbox_transport = cyrus
fallback_transport = cyrus
smtpd_sasl_auth_enable = yes
指定是否要启用SASL作为SMTP认证方式。默认不启用,这里必须将它启用,所以要将该参数值设置为“yes”。
smtpd_sasl_local_domain = ''
如果采用Cyrus-SASL V2版进行认证,那么这里不作设置。
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
表示通过收件人地址对客户端发来的邮件进行过滤。通常有以下几种限制规则。
permit_mynetworks:表示只要是收件人地址位于mynetworks参数中指定的网段就可以被转发邮件
permit_sasl_authenticated:表示允许转发通过SASL认证的邮件。
reject_unauth_destination:表示拒绝转发含未信任的目标地址的邮件。
broken_sasl_auth_clients = yes
表示是否兼容非标准的SMTP认证。有一些Microsoft的SMTP客户端(如Outlook Express 4.x)采用非标准的SMTP认证协议,只需将该参数设置为"yes"就可解决这类不兼容问题。
smtpd_client_restrictions = permit_sasl_authenticated
表示限制可以向postfix发起SMTP连接的客户端。如果要禁止未经过认证的客户端向postfix发起SMTP连接,则可将该参数值设置为permit_sasl_authenticated
smtpd_sasl_security_options = noanonymous
用来限制某些登录的方式。如果将该参数值设置为noanonymous,则表示禁止采用匿名登录方式。