第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) |