Chinaunix首页 | 论坛 | 博客
  • 博客访问: 832678
  • 博文数量: 222
  • 博客积分: 4341
  • 博客等级: 上校
  • 技术积分: 2155
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-16 13:50
个人简介

...

文章分类

全部博文(222)

文章存档

2019年(1)

2016年(9)

2015年(7)

2014年(14)

2013年(11)

2012年(10)

2011年(6)

2010年(25)

2009年(37)

2008年(21)

2007年(81)

我的朋友

分类: LINUX

2009-04-07 08:53:55

第5章 Sendmail服务
 5.1 Sendmail原理
  5.1.2 邮件系统工作原理
MUA:邮件用户代理(Mail User Agent)客户端软件
MTA:邮件传输代理(Mail Transfer Agent)邮件服务器
MDA:邮件递送代理(Mail Delivery Agent)用来把MTA所接收的邮件传递至指定的用户邮箱
  5.1.3 简单邮件传输协议(SMTP)
    SMTP是一种“推”方式的E-mail通信协议,它会将不属于本身网络的E-mail传送到远程网络,让此信息离目的地主机越来越近
  5.1.4 POP3协议
    POP是采用“拉”邮件的方式,当使用支持POP的MUA读取电子邮件时,就可执行用户命令或是固定时间间隔的方式,将MTA上的新邮件“拉”到客户端的计算机上并加以保存。这种脱机读信的工作,很显然都是由MUA主动完成而非MTA,所以客户端拥有主动权,可以弹性决定取信的时间。

 5.2 安装Sendmail服务
  5.2.3 相关的配置文档
    sendmail.cf:sendmail核心配置文件,位于/etc/mail/sendmail/sendmail.cf
    sendmail.mc:sendmail提供sendmail文件模板,通过编辑此文件后再使用m4工具将结果导入sendmail.cf完成配置sendmail核心配置文件,降低配置复杂度,位于/etc/mail/sendmail.mc
    local-host-name:定义收发邮件服务器的域名和主机别名,位于/etc/mail/local-host-name
    access.db:用来设置sendmail服务器为哪些主机进行转发邮件,位于/etc/mail/access.db
    aliases.db:用来定义邮箱别名,位于/etc/mail/aliases.db
    virtusertable.db:用来设置虚拟账户,位于/etc/mail/virtusertable.db
 5.3 Sendmail常规服务器配置
    搭建Sendmail服务器流程:
    (1)配置sendmail.mc文件
    (2)使用m4工具将sendmail.mc文件导入sendmail.cf文件
    (3)配置local-host-names文件
    (4)建立用户帐号
    (5)重新启动服务使配置生效
  5.3.1 sendmail.cf和sendmail.mc
    注释以m4预定义宏dnl 开头,该宏丢弃在下一个新行之前的所有文本。这些注释并不在生成的configure脚本中出现
    DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl ==>DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl     扩大监听范围
        mc文件不能随意加入空格符号
    LOCAL_DOMAIN(`test.com')dnl  //修改域
  5.3.2 m4工具的使用
    m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
  5.3.3 local-host-names文件
    修改local-host-names文件添加域名及主机名,设定接收域.


  5.3.5 POP3和IMAP
    装dovecot软件包提供POP3和IMAP协议
  5.3.6 Sendmail应用案例Ⅰ
    (1) 配置DNS,做MX记录
    (2) 编辑sendmail.mc,修改smtp侦听网段范围
    (3) 修改local-host-names文件添加域名及主机名
    (4) 创建用户
    (5) 重启sendmail服务

  5.3.7 别名和群发设置
    /etc/aliases文件语法格式:
    真实用户帐号:别名1,别名2
    使用newaliases命令生成aliases.db数据库文件
  5.3.8 利用access文件设置邮件中继
    /etc/mail/access
    Connect: 127.0.0.1 RELAY
    生成access数据库文件
    makemap hash access.db > access  

  5.3.10 Sendmail调试
    (1) telnet test.com 25
    (2) 用户邮件目录/var/spool/mail
    (3) 邮件队列 mailq
    (4) 邮件统计信息 mailstats
 5.4 Sendmail高级服务器配置
  5.4.1 Sendmail认证
    1. 安装sasl库
    2. 配置sendmail.cf
    编辑sendmail.mc,去掉以下三行的dnl字段开启sendmail认证功能
        TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
        define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
        DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl

        TRUST_AUTH_MECH的作用是使sendmail不管access文件中如何设置都能relay那些通过LOGIN、PLAIN或DIGEST-MD5方式验证的邮件。
        `confAUTH_MECHANISMS'的作用是确定系统的认证方式。
        `Port=submission, Name=MSA, M=Ea'的作用是开启认证,并以子进程运行MSA实现邮件的账户和密码的验证。
        注意:FEATURE要加在MAILER语句前面,否则可能造成邮件服务器运行错误
    3. 设置用户用户邮件的大小限制
  5.4.2 邮箱容量设置
    1. 设置用户用户邮件的大小限制
    在sendmail.cf中设置
        默认不限制:
        # maximum message size
        #O MaxMessageSize=0
        我们可以设置成邮件最大不超过20MB
        # maximum message size
        O MaxMessageSize=20971520
        意思为每次收发邮件最大为20MB,任何超过这个值的邮件将被拒绝。
    2.设置本地邮箱的域名
        LOCAL_DOMAIN(`test.com')dnl

  5.4.3 POP3S和IMAPS设置
    1.生成私钥和自签名证书
        /etc/pki/tls/certs/Makefile文件保存着生成密钥和证书的脚本设置,这里使用make命令制作dovecot.pem文件,其保存邮件服务器的私钥和公钥信息。
        make -C /etc/pki/tls/certs/ dovecot.pem
    2.修改dovecot.conf配置文件
        查询dovecot使用的密钥和证书的位置
        修改dovecot.conf配置信息中密钥和证书的位置指向刚刚生成的dovecot.pem
    3.重启sendmail、dovecot、saslauthd服务

阅读(845) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~