
postfix邮件服务的配置.docx
3页postfix邮件服务的配置 ; postfix邮件效劳的配置postfix效劳的根本配置与Sendmail相比,Postfix最被人称道的地方就在于其配置文件的可读性很高Postfix的主配置文件是/etc/postfix/main.cf虽然该配置文件的内容比拟多,但其中大局部内容都是注释〔“#〞号开头的行〕,真正需要自行定义的参数并不多,而且这些参数就算不去定义,按照默认值也可以运行,只不过它只监听127.0.0.1这个接口的邮件收发如果要使它能够支持客户端完成最根本的邮件收发任务,通常还需要进行下面的设置注记:在main.cf文件中,参数都是以类似变量的设置办法来设置的,示例要设置 Postfix主机名称,可使用下面的语句:myhostname = 等号左边是变量的名称,等号右边是变量的值当然,也可以在变量的前面加上符号 “$〞来引用该变量,如:myorigin = $myhostname 〔相当于myorigin = 〕 需要注意的是,等号两边需要有空格字符此外,如果变量有两个以上的设置值, 就必须用逗号“,〞或者空格符“ 〞将它们分开,如: mydestination = $mydomain,$myhostname,localhost.$mydomain 1.设置运行Postfix效劳的邮件主机的主机名、域名用myhostname参数指定运行Postfix效劳的邮件主机的主机名称〔FQDN名〕,用mydomain参数指定该主机的域名称。
当然这两个参数也可以不进行设置,缺省情况下,myhostname参数被设置为本地主机名,而且Postfix会自动将myhostname参数值的第一局部删除并将其余局部作为mydomain参数的值myhostname = mydomain = 2.设置由本机寄出的邮件所使用的域名或主机名称myorigin参数实际上是设置由本台邮件主机寄出的每封邮件的邮件头中mail from的地址由于Postfix默认使用本地主机名作为myorigin参数的值,因此一封由本地邮件主机寄出的邮件的邮件头中就会含有如“From:‘lbt’〞这样的内容,它说明这封邮件是从主机发来的不过,倡议读者将myorigin参数设置为本地邮件主机的域名〔即“myorigin = 或$mydomain〞〕,这样一封由本地邮件主机寄出的邮件的邮件头中就会含有如“From:‘lbt’〞这样的内容,显然更具有可读性myorigin = $mydomain 3.设置Postfix效劳监听的网络接口默认情况下,inet_interfaces参数的值被设置为localhost,这说明只能在本地邮件主机上寄信如果邮件主机上有多个网络接口,而又不想使全部的网络接口都开放Postfix效劳,就可以用主机名指定需要开放的网络接口。
不过,通常是将所有的网络接口都开放,以便接收从任何网络接口来的邮件,即将inet_interfaces参数的值设置为“all〞inet_interfaces = all 4.设置可接收邮件的主机名称或域名mydestination参数非常重要,因为只有当发来的邮件的收件人地址与该参数值相匹配时,Postfix才会将该邮件接收下来示例,这里将该参数值设置为$mydomain和$myhostname,说明无论来信的收件人地址是xxx@〔其中xxx表示某用户的邮件账户名〕,还是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参数那么是针对邮件来源的域名或主机名来设置的。
示例,将该参数值设置为,那么表示任何由域发来的邮件都会被认为是信任的,Postfix会自动对这些邮件进行转发relay_domains = 完成了上面的根本设置后,重新启动Postfix效劳,这台Postfix邮件主机就根本准备好了但是目前它仅支持客户端发信,还不支持收信此外,要使它能在单位内部网络中更好地转发邮件,还必须进行DNS设置本例中,在内部网络的DNS效劳器上定义了一个主区域,并在该区域配置文件中定义了下列记录 〔除定义了SOA、NS记录外〕:.INA192.168.16.177 .IN CNAME. .IN MX. 技巧:当编辑好Postfix主配置文件/etc/postfix/main.cf后,为了便于调试, 应在不翻开该文件的情况下,直接读取该文件的各类设置数据, 可执行/usr/sbin/postconf命令示例,要查看Postfix的当前主要配置 文件的寄存路径,可以使用下面的命令:postconf -n虚拟别名域的配置使用虚拟别名域,可以将发给虚拟域的邮件实际投递到真实域的用户邮箱中;可以实现群组邮递的功能,即指定一个虚拟邮件地址,任何人发给这个邮件地址的邮件都将由邮件效劳器自动转发到真实域中的一组用户的邮箱中。
这里的虚拟域可以是实际并不存在的域,而真实域既可以是本地域〔即main.cf文件中的mydestination参数值中列出的域〕,也可以是远程域或Internet中的域虚拟域是真实域的一个别名实际上,通过一个虚拟别名表〔virtual〕,实现了虚拟域的邮件地址到真实域的邮件地址的重定向下面通过一些例子来表明虚拟别名域的设置办法例1】如果要将发送给虚拟域@dzxx 的邮件实际投递到真实的本地域@,则可在虚拟别名表中进行如下定义:@dzxx @ 【例2】如果要将发送给虚拟域的某个虚拟用户〔或组〕的邮件实际投递到本地Linux系统中某个用户账户的邮箱中,则可在虚拟别名表中进行如下定义:admin@example lbt st0321@example st0321001,st0321002,st0321003 【例3】如果要将发送给虚拟域中的某个虚拟用户〔或组〕的邮件实际投递到本地Linux系统中和Internet中某个用户账户的邮箱中,则可在虚拟别名表中进行如下定义:daliu@example lbt,liu6812@163 在实际应用中,要实现上述虚拟别名域,必须按下列步骤进行。
编辑Postfix主配置文件/etc/postfix/main.cf,进行如下定义:virtual_alias_domains = dzxx ,example virtual_alias_maps = hash:/etc/postfix/virtual 这里,参数virtual_alias_domains用来指定虚拟别名域的名称,参数virtual_alias_maps用来指定含有虚拟别名域定义的文件路径编辑配置文件/etc/postfix/virtual,进行如下定义:@dzxx @ admin@example lbt st0321@example st0321001,st0321002 daliu@example lbt,liu6812@163 。












