Linux 版 (精华区)

发信人: zhili (北侠), 信区: twunix
标  题: 电子邮件环境之生成(3)(钱飞著)
发信站: 哈工大紫丁香 (Mon Jan  5 04:22:50 1998), 转信

 From: albin.bbs@bbs.dlut.edu.cn (阿乐斌)
 Date: 16 Oct 1997 12:19:31 GMT

===============================================================================
【专题介绍】 
                                    大规模计算机网络主要服务之管理方法
                                                     (2)
 
                                        电子邮件环境的生成方法(3) 
 
 2.2 邮件服务器系统(Mail Server Type) 
 
 如前期所述,在邮件服务器系统上为各客户机提供Email缓冲池, 可以有利于信 件之日常管理,和统一用户环
 境. 
 
 设定例: 
 
 邮件服务器计算机名: beijing
 邮件客户机名: client1, client2, client3
 所在域名: domain.cn
 邮件服务器别名: domain.cn, www.domain.cn 
 
 (a)编辑定义文件 % vi domain.cn.def 
 
 # 定义版本分隔符为"-"
 VERSION_SEPARATOR=- 
 
 # sendmail.cf文本文件版号(任意)
 LOCAL_VERSION='mailspool.cn-1.0' 
 
 # 定义sendamil.cf版本
 CF_TYPE=R8 
 
 # 定义计算机系统类型
 OS_TYPE=solaris2.5 
 
 # 定义域名
 MY_DOMAIN=domain.cn 
 
 # 定义服务器计算机名 
 MY_NAME=beijing 
 
 # 定义计算机邮件地址
 OFFICIAL_NAME=beijing.domain.cn 
 
 # 定义计算机别名 
 MY_ALIAS='domain.cn www.domain.cn' 
 
 # 决定FROM行格式(与计算机地址一致)
 FROM_ADDRESS='$j' 
 
 # 指定信件地址补充方式 
 CANON=short 
 
 # 决定BITNET传送方式
 BITNET=no 
 
 # 指定是否在信件头上添加"Errors-To:"行 
 USE_ERROR_TO='True' 
 
 # 指定出错信件的受理者
 COPY_ERRORS_TO='root' 
 
 # 指定是否受理本域信件 (1)
 ACCEPT_LOWERS=yes 
 
 # 指定下属客户机名表现方式 (2)
 LOWER_MATCH_STYLE=lw-file 
 
 # 指定下属本域客户机名表文件 (3)
 lw_FILE_PATH='/etc/mail/sendmail.lw' 
 
 说明: 
 
 (1) 需要受理邮件服务器所在域之信件时可以指定ACCEPT_LOWERS.
       yes: 受理发往本域的所有信件.
       no: 不受理发往本域的信件.
       也可以直接给该参数指定域名但请注意,在指定时需要在域名前加".",例如:
       ACCEPT_LOWERS=.domain.cn 
 
 (2)当已经给ACCEPT_LOWERS参数指定了yes或域名时,用LOWER_MATCH_STYLE参数 来指定具体受理相应域内哪
 些客户机之信件.指定方法有一下几种: 
       lw-file: 使用/etc/sendmail.lw文件来定义客户机名表. 
       !lw-file: 受理/etc/sendmail.lw文件中所定义的地址以外的客户机信件. 
       one: 在*.MY_DOMAIN中仅受理MY_DOMAIN左侧为单地址的客户机信件. 
       例如: 受理形如 beijing.domain.cn 之地址的客户机信件,但 
       不受理形如 beijing.sub.domain.cn 之地址的客户机信件. 
       any: 受理本域内所有客户机信件. 
 
       Mdt> (3) 当已经给 LOWER_MATCH_STYLE 参数指定了 lw-file, 或 !lw-file 时, 用 lw_FILE_PATH参
       数来指定客户机名表文件之路径. 该参数之省缺值为: 
       /etc/sendmail.lw 
 
 (b)生成cf文件 
 
 % make domain.cn.cf 
 
 (c)编辑客户机名表文件 
 
 % vi /etc/mail/sendmail.lw 
 
 client1
 client2
 client3 
 
 注意这里不可带域名(即,不带MY_DOMAIN部). 
 
 然后请按前期所介绍的方法进行测试和安装. 
 
 需要注意的是, 这里所介绍的是同一域内的邮件服务器之sendmail.cf生成方法. 如果您想为一个跨域服务
 器制作sendmail.cf,可以对上述定义文件例进行修改. 将 (1)-(3)修改为: 
 
 # 指定是否使用受理地址文件名表 (1')
 ACCEPT_LOWERS=yes 
 
 # 指定受理地址文件名表文件路径 (2')
 aa_FILE_PATH='/etc/mail/sendmail.aa' 
 
 并编辑地址文件名表文件,添加相应的客户地址.例如, 
 
 client1.domain1.cn
 client2.domain2.cn
 client3.domain3.cn 
 
 注意,与LW文件不同,这里需要指定全称名. 
 
 2.3 邮件客户系统(None Spool Type) 
 
 如前期所述, 由于在邮件客户系统上不具备独自的信件缓冲池, 所以在收发信 件时需要委托E-mail服务器
 来进行中继. 
 
 对上述设定例,定义文件内容如下: 
 
 % vi client.def 
 
 # 定义版本分隔符为"-"
 VERSION_SEPARATOR=- 
 
 # sendmail.cf文本文件版号(任意)
 LOCAL_VERSION='mailclient.cn-1.0' 
 
 # 定义sendamil.cf版本
 CF_TYPE=R8-null 
 
 # 定义计算机系统类型
 OS_TYPE=solaris2.5 
 
 # 定义域名
 MY_DOMAIN=domain.cn 
 
 # 定义服务器计算机名 
 MY_NAME=client1 
 
 # 定义计算机邮件地址
 OFFICIAL_NAME=client1.domain.cn 
 
 # 定义邮件服务器
 SPOOL_HOST='beijing.domain.cn' 
 
 对生成的client.cf进行测试,确认动作是否正确. 
 
    % /usr/lib/sendmail -bt -C./client.cf
    ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
    Enter <ruleset> <address>
    rewrite: ruleset   3   input: user @ host . domain . cn
    rewrite: ruleset   3 returns: user @ host . domain . cn
    rewrite: ruleset   0   input: user @ host . domain . cn
    rewrite: ruleset   0 returns: $# local $: user @ host . domain . cn
    > 5 user@host.domain.cn
    rewrite: ruleset   5   input: user @ host . domain . cn
    rewrite: ruleset   5 returns: $# relay $@ domain . cn . $: user @ 
                                  host . domain . cn
    > 
 
 由测试结果可见, 发往user@host.domain.jp的信件已经正常的转发给邮件服务 器(beijing). 
 
 2.4 中继站系统(Mail HUB Type) 
 
 中继站系统是一种网络高层邮件服务器系统.尤其是当网络中含有UUCP线路时, 将常会用到这种系统. 
 
 设定例: 
 
 中继站计算机名: hubhost.domain.cn 
 
  二级邮件服务器名
                     担当子域
                                     连接形式
  mailserv1
                     sub1.domain.cn
                                     TCP/IP
  mailserv2
                     sub2.domain.cn
                                     TCP/IP
  mailserv3
                     sub3.domain.cn
                                     UUCP
 
 
 (a)编辑定义文件 
 
 % vi hubhost.def 
 
 # 定义版本分隔符为"-"
 VERSION_SEPARATOR=- 
 
 # sendmail.cf文本文件版号(任意)
 LOCAL_VERSION=hubhost 
 
 # 定义sendamil.cf版本
 CF_TYPE=R8 
 
 ## 定义计算机系统类型 
 OS_TYPE=linux 
 
 # 定义域名
 MY_DOMAIN='domain.cn' 
 
 # 定义计算机名
 MY_NAME=hubhost 
 
 # 定义计算机邮件地址
 OFFICIAL_NAME='hubhost.domain.cn' 
 
 # 定义计算机别名
 MY_ALIAS='domain.cn' 
 
 # 决定FROM行格式(与计算机地址一致)
 FROM_ADDRESS='$m' 
 
 # 决定BITNET传送方式
 BITNET=no 
 
 # 指定是否在信件头上添加"Errors-To:"行
 USE_ERRORS_TO='True' 
 
 # 指定出错信件的受理者
 COPY_ERRORS_TO='MAILER-DAEMON' 
 
 # 指定是否受理本域信件 
 ACCEPT_LOWERS=yes 
 
 # 指定下属客户机名表现方式
 LOWER_MATCH_STYLE=lw-file 
 
 # 指定下属域邮件服务器名表文件 
 lw_FILE_PATH='/etc/mail/sendmail.hub' 
 
 # 指定静态寻径表 
 STATIC_ROUTE_FILE=domain.deliver 
 
 (b)编辑下属域邮件服务器名表文件 
 
 % vi /etc/mail/sendmail.hub 
 
 sub1.domain.cn
 sub2.domain.cn
 sub3.domain.cn 
 
 (c)编辑静态寻径表 
 
 % vi domain.deliver 
 
 GW smtp:mailserv1.domain.cn
 DOM sub1.domain.cn 
 
 GW smtp:mailserv2.domain.cn
 DOM sub2.domain.cn 
 
 GW uucp:mailserv3.domain.cn
 DOM sub3.domain.cn 
 
 注意,静态寻径表与下属域邮件服务器名表文件不同, 前者将在生成sendmail.cf时 嵌入sendmail.cf中,后
 者与sendmail.cf无关,可以动态变更. 
 
 (d)测试 
 
 测试结果如下.(因行幅所限,结果中进行了适当的改行,并省略了一些中间结果) 
 
    % /usr/lib/sendmail -bt -C./hubhost.cf
    ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
    Enter <ruleset> <address>
    > 3,0 root                   <----   本地测试
    rewrite: ruleset   0   input: root
    rewrite: ruleset   0 returns: $# local $: root
    > 0,3 usr@host.come.or.jp
    rewrite: ruleset   0   input: usr @ host . domain.cn
     ...
    rewrite: ruleset   3 returns: usr < @ host . domain.cn >
     ...
    rewrite: ruleset  88   input: < smtp : host . domain.cn > : 
                                 usr < @ host . domain.cn >
     ...
    rewrite: ruleset   3 returns: $# smtp $@ host . domain.cn . $: 
                                 usr < @ host . domain.cn >
 
    > 3,0 usr@host.sub1.come.or.jp   <---- 测试子域 sub1
    rewrite: ruleset   0   input: usr @ host . sub1 . domain.cn
     ...
    rewrite: ruleset   0   input: usr < @ host . sub1 . domain.cn >
     ...
    rewrite: ruleset  88   input: < smtp : mailserv1 . domain.cn > : 
                                 usr < @ host . sub1 . domain.cn >
     ...
    rewrite: ruleset   3 returns: $# smtp $@ mailserv1 . domain.cn . $: 
                                 usr < @ host . sub1 . domain.cn >
 
    > 3,0 usr@host.sub2.come.or.jp   <---- 测试子域 sub2
    rewrite: ruleset   0   input: usr @ host . sub2 . domain.cn
     ...
    rewrite: ruleset  88   input: < smtp : mailserv2 . domain.cn > :
                                  usr < @ host . sub2 . domain.cn >
     ...
    rewrite: ruleset   3 returns: $# smtp $@ mailserv2 . domain.cn . $: 
                                 usr < @ host . sub2 . domain.cn >
 
    > 3,0 usr@host.sub3.come.or.jp   <---- 测试子域 sub3
    rewrite: ruleset   0   input: usr @ host . sub3 . domain . cn
     ...
    rewrite: ruleset  88   input: < uucp : mailserv3 . domain . cn > : 
                         usr < @ host . sub3 . domain . cn >
     ...
    rewrite: ruleset   3 returns: $# uucp $@ mailserv3 . domain . cn $: 
                         usr < @ host . sub3 . domain .  cn >
 
                                       (钱飞/fei@come.or.jp)
 
 --
 ※ 来源:.碧海青天 bbs.dlut.edu.cn.[FROM: 202.118.65.49]

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bbs@bbs.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:206.694毫秒