主讲:张泽飞://ent.qq.com/a/20071202/000037.htm主讲:张泽飞•电子邮件系统的组成•邮件协议•Sendmail和imap的安装•配置sendmail的别名、中继•配置带有SMTP认证的邮件服务器主讲:张泽飞电子邮件系统的组成•邮件用户代理(MailUserAgent,MUA)•邮件传输代理(MailTransferAgent,MTA)•邮件提交代理(MailSubmissionAgent,MSA587端口)•邮件投递代理(MailDeliveryAgent,MDA)•邮件访问代理(MailAccessAgent,MAA)主讲:张泽飞邮件协议•SMTP(SimpleMailTransferProtocol,简单邮件传输协议)•POP3(PostOfficeProtocol,邮局协议,目前为第3版本)•IMAP(InternetMessageAccessProtocol,网际消息访问协议,目前为第4版本)•MIME(MultipurposeInternetMailExtension,多用途互联网邮件扩充)主讲:张泽飞sendmail简介•sendmail的主要功能–接收SMTP邮件–为邮件选择路由–传输SMTP邮件–使用邮件别名,从而允许使用邮件列表–错误检测以及速度和代价优化主讲:张泽飞安装和启动sendmail•RedHatAS4中提供了sendmail的RPM包–sendmail:sendmail服务器–sendmail-cf:与sendmail服务器配置相关的文件和程序–sendmail-doc:sendmail服务器的文档•安装sendmail–#rpm-ivhm4-1.4.1-13.i386.rpm–#rpm-ivhsendmail-8.12.8-4.i386.rpm–#rpm-ivhsendmail-cf-8.12.8-4.i386.rpm–#rpm-ivhsendmail-doc-8.12.8-4.i386.rpm•启动和停止sendmail–#servicesendmailstart–#servicesendmailstop–#servicesendmailrestart主讲:张泽飞RedHat9中sendmail的默认配置•基于安全的考虑,将sendmail守护进程分离分为两个守护进程–sendmail–Sm-client•不同的守护进程使用的不同的配置文件和不同的邮件队列/var/spool/clientmqueue/var/spool/mqueue邮件队列目录/etc/mail/submit.cf/etc/mail/sendmail.cf配置文件sendmail-Lsm-msp-queue-Ac-q30msendmail-Lsm-mta-bd-q1h运行命令行sm-clientsendmail守护进程名用于MSP(邮件提交程序)用于MTA(邮件传输代理)主讲:张泽飞安装配置和启动MAA配置MAAvi/etc/dovecot.conf#protocols=imappop3•启动MAAservicedovecotstart•测试MAA–#telnetlocalhost110–#telnetlocalhost143主讲:张泽飞sendmail的配置方法•直接修改cf配置文件•先编写后缀为mc的宏配置文件,然后由通用工具m4将宏配置文件转换为cf配置文件•使用sendmail数据库更新配置主讲:张泽飞使用sendmail数据库更新配置-local-host-names数据库•将这个文件中的所有内容均视为本地主机名。•相当于修改sendmail.cf配置文件中的Cw命令选项•修改/etc/mail/local-host-names–例如•#vi/etc/mail/local-host-names•//添加下面的行•shrike.jamond.net•jamond.net•测试–netstat–ln|grep25–#SMTPdaemonoptions–ODaemonPortOptions=Port=smtp,Addr=127.0.0.1,Name=MTA(/etc/mail/sendmai.conf)主讲:张泽飞使用sendmail数据库更新配置-access数据库(1)•由于smtp协议不需要身份认证,所以任何人都可能telnet到本地服务器的25端口并且发送莫名其妙的邮件•RedHatAS4中的sendmail缺省直接禁止其他不明身份的主机利用本地服务器投递邮件•sendmail读取/etc/mail/access.db文件的内容,并根据文件中的配置决定是否中继邮件•/etc/mail/access.db可以使用makemap命令由纯文本文件/etc/mail/access生成主讲:张泽飞使用sendmail数据库更新配置-aliases数据库(1)•实现sendmail最重要的别名功能•sendmail读取由文件/etc/aliases创建的数据库(dbm)文件,可以使用newaliases命令生成该数据库文件。•别名有如下的作用:–1.为单个用户指定绰号•lrj:osmond–2.利用别名来保护登录账号主讲:张泽飞使用sendmail数据库更新配置-aliases数据库(2)•别名有如下的作用:–3.将发给特殊用户的邮件转发给实际用户•postmaster:root–4.转发邮件–abc:abc@yyy.com.cn–5.实现邮件列表–net_group:osmond,tom,stillman,patrcko主讲:张泽飞发匿名邮件HeloMailfrom:a@a.comRcpttp:it@nit-pro.orgData邮件内容邮件内容输入结束另起一行敲入一个“.”回车即可发送