Chinaunix首页 | 论坛 | 博客
  • 博客访问: 570421
  • 博文数量: 201
  • 博客积分: 7734
  • 博客等级: 少将
  • 技术积分: 1994
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-09 19:18
文章分类

全部博文(201)

文章存档

2011年(28)

2010年(173)

分类:

2010-07-16 14:02:09

postfix服务的基本配置

与Sendmail相比,Postfix最被人称道的地方就在于其配置文件的可读性很高。Postfix的主配置文件是/etc/postfix /main.cf。虽然该配置文件的内容比较多,但其中大部分内容都是注释(“#”号开头的行),真正需要自行定义的参数并不多,而且这些参数就算不去定义,按照默认值也可以运行,只不过它只监听127.0.0.1这个接口的邮件收发。如果要使它能够支持客户端完成最基本的邮件收发任务,通常还需要进行下面的设置。

注记:在main.cf文件中,参数都是以类似变量的设置方法来设置的,例如要设置
Postfix主机名称,可使用下面的语句:myhostname = mail.gdvcp.net

等号左边是变量的名称,等号右边是变量的值。当然,也可以在变量的前面加上符号
“$”来引用该变量,如:myorigin = $myhostname   
(相当于myorigin = mail.gdvcp.net)

需要注意的是,等号两边需要有空格字符。此外,如果变量有两个以上的设置值,
就必须用逗号“,”或者空格符“ ”将它们分开,如:
mydestination = $mydomain,$myhostname,localhost.$mydomain

1.设置运行Postfix服务的邮件主机的主机名、域名
用myhostname参数指定运行Postfix服务的邮件主机的主机名称(FQDN名),用mydomain参数指定该主机的域名称。当然这两个参数也可以不进行设置,缺省情况下,myhostname参数被设置为本地主机名,而且Postfix会自动将myhostname参数值的第一部分删除并将其余部分作为mydomain参数的值。

myhostname = mail.gdvcp.net
mydomain = gdvcp.net

2.设置由本机寄出的邮件所使用的域名或主机名称
myorigin参数实际上是设置由本台邮件主机寄出的每封邮件的邮件头中mail from的地址。由于Postfix默认使用本地主机名作为myorigin参数的值,因此一封由本地邮件主机寄出的邮件的邮件头中就会含有如 “From:‘lbt’<>” 这样的内容,它表明这封邮件是从mail.gdvcp.net主机发来的。不过,建议读者将myorigin参数设置为本地邮件主机的域名(即 “myorigin = gdvcp.net或$mydomain”),这样一封由本地邮件主机寄出的邮件的邮件头中就会含有如“From:‘lbt’<>”这样的内容,显然更具有可读性。

myorigin = $mydomain

3.设置Postfix服务监听的网络接口
默认情况下,inet_interfaces参数的值被设置为localhost,这表明只能在本地邮件主机上寄信。如果邮件主机上有多个网络接口,而又不想使全部的网络接口都开放Postfix服务,就可以用主机名指定需要开放的网络接口。不过,通常是将所有的网络接口都开放,以便接收从任何网络接口来的邮件,即将inet_interfaces参数的值设置为“all”。

inet_interfaces = all

4.设置可接收邮件的主机名称或域名
mydestination参数非常重要,因为只有当发来的邮件的收件人地址与该参数值相匹配时,Postfix才会将该邮件接收下来。例如,这里将该参数值设置为$mydomain和$myhostname,表明无论来信的收件人地址是(其中xxx表示某用户的邮件账户名),还是,Postfix都会接收这些邮件。

mydestination = $mydomain, $myhostname

5.设置可转发(Relay)哪些网络的邮件
可以使用mynetworks参数来设置。可将该参数值设置为所信任的某台主机的IP地址,也可设置为所信任的某个IP子网或多个IP子网(用“,”或者“ ”分隔)。这里,将mynetworks参数值设置为192.168.16.0/24,则表示这台邮件主机只转发子网192.168.16.0/24中的客户端所发来的邮件,而拒绝为其他子网转发邮件。

mynetworks = 192.168.16.0/24
除了mynetworks参数外,还有一个用于控制网络邮件转发的参数是mynetworks-style,
它主要用来设置可转发邮件网络的方式。通常有以下3种方式。

class:在这种方式下,Postfix会自动根据邮件主机的IP地址得知它所在的IP网络类型
(即A类、B类或是C类),从而开放的它所在的IP网段,例如,如果邮件主机的IP地址为
168.100.192.10,这是一个B类网络的IP地址,则postfix会自动开放168.100.0.0/16
整个IP网络;

subnet:这是postfix的默认值,postfix会根据邮件主机的网络接口上所设置的IP地址、
子网掩码来得知所要开放的IP网段,例如,如果邮件主机的IP地址为192.168.16.177,
子网掩码为255.255.255.192,则postfix会开放192.168.16.128/30子网;

host:在这种方式下,postfix只会开放本机。

通常,用户不设置mynetworks-style参数,而直接设置mynetworks参数。如果这两个参
数都进行了设置,那么mynetworks参数的设置有效。

6.设置可转发哪些网域的邮件
mynetworks参数是针对邮件来源的IP来设置的,而relay_domains参数则是针对邮件来源的域名或主机名来设置的。例如,将该参数值设置为gdvcp.net,则表示任何由域gdvcp.net发来的邮件都会被认为是信任的,Postfix会自动对这些邮件进行转发。

relay_domains = gdvcp.net

完成了上面的基本设置后,重新启动Postfix服务,这台Postfix邮件主机就基本准备好了。但是目前它仅支持客户端发信,还不支持收信。

此外,要使它能在单位内部网络中更好地转发邮件,还必须进行DNS设置。本例中,在内部网络的DNS服务器上定义了一个主区域gdvcp.net,并在该区域配置文件中定义了以下记录
(除定义了SOA、NS记录外):

rhel5.gdvcp.net.  IN   A  192.168.16.177
mail.gdvcp.net.  IN CNAME  rhel5.gdvcp.net.
gdvcp.net.      IN MX  10  mail.gdvcp.net.
技巧:当编辑好Postfix主配置文件/etc/postfix/main.cf后,为了便于调试,
应在不打开该文件的情况下,直接读取该文件的各类设置数据,
可执行/usr/sbin/postconf命令。例如,要查看Postfix的当前主要配置
文件的存放路径,可以使用下面的命令:postconf -n
阅读(1232) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~