电子邮件系统角色,
—Mail User Agent 邮件用户代理
—Mail Transfer Agent 邮件传输代理
—Mail Delivery Agent 邮件分发代理
整个邮件通信的过程大致 如下
案例如下,首先,我们需要在dns记录中补充相关的邮件记录
其中MX记录的格式为
zone IN MX preference host
其中preference代表优先级,数值越小优先级越高
如上代表mail.yky.com为该域的邮件服务器
它的ip地址为192.168.0.1
重启DNS服务器之后可以通过如下方式验证
为了安装postfix.在红帽5里,我们需要关闭开机就自动启动的sendmail 它与postfix都同时占用25号端口
我们可以通过postconf来提取有效的配置
postconf > test.txt
mv main.cf main.cf.original
main test.txt main.cf
在保有备份的情况下,我们把有效的配置参数做为postfix的配置文件
何为有效的配置参数?
下面我们对main.cf开始编辑
我们需要改动的参数如下
inet_interfaces=all
myhostname=mail.yky.com(此时为我们在dns域名解析中的解析记录)
mydomain=yky.com
myorigin=$mydomain
mydestination=$mydomain.$myhostname
home_mailbox=Maildir/
我们可以通过最简单的telnet工具来测试SMTP发信
过程如下
为了让客户机root用户成功的接收到信件,我们必须安装dovecot 服务
同样我们需要修改dovecot的服务的相关配置
需要开启禁止明文认证 disable_plaintext_auth=no
mail_location=maildir:~/Maildir
这样可以看到同时,我们可以通过telnet到110号端口开验证chris向root发送的信件
为了提高安全性,我们不将系统用户的密码作为相应用户SMTP用户的认证密码。而专门为其设置专用的密码
首先,我们需要先修改postfix的配置,启用认证
在配置之后,向外发送邮件的时候提示被禁止
同时,我们需要指定密码存放文件
要启用认证必须启用cyrus sasl
需要安装相关的包如下,缺一不可
cycrus-sasl-devel
cyrus-sasl-plain
cyrus-sasl-lib
cyrus-sasl-21.***
/usr/lib/sasl/cmtpd.conf
编辑它我们需要指定验证的方法
我们尝试登陆
这里的chris与123就是本地的用户与密码,目前还暂时没看出与指定的目标文件的关系
验证
同样,我们可以通过创建send_access策略文件来进行基于发件人的地址过滤
先编辑 /etc/postfix/sender_access 再用postmap将其更替为数据库文件,最后在sender——
smtpdsender_restriction中写入一下
然而这个check_sender_access 似乎哪地方有错?导致配置不正确
但是配置后一直出现