首页 > 技术文章 > 电子邮件服务

clearlove 2015-01-02 22:31 原文

电子邮件系统角色,

—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 似乎哪地方有错?导致配置不正确

但是配置后一直出现

 

推荐阅读