Postfix+Dovecot+MySQL搭建邮件服务器图文解析

转自http://www.open-open.com/lib/view/open1431592348122.html


自己觉得人家写的特别清楚,特别鲜明,特地收藏!!

配置邮件服务器并不是一项简单的工作,其过程不仅需要一定的技术能力,同时也需要大家具有一定的耐心,同时也需要大家非常细心。为了能够「看懂」并「最终实践」这篇文章,大家还需要了解或掌握以下知识:

介绍服务

Postfix: 是一个标准的MTA「Mail Transfer Agent」服务器,它负责通过SMTP协议管理发送到本机的邮件以及由本机发向外界的邮件。在本例中,Postfix会把邮件的本地投递工作「接受到邮件之后将邮件存档到本地磁盘」交给Dovecot的LMTP服务「Local Mail Transfer Protocol service」处理。当然,当大家想通过服务器向外界发送邮件时,Postfix还将负责验证权限以确保服务器不被滥用。「很多邮件服务器根本没有对SMTP做用户验证,这将导致任何匿名用户都可以通过服务器向外界发送邮件,从而使得服务器变成垃圾中转站」
Dovecot: 是一个非常优秀的IMAP/POP服务器用以接收外界发送到本机的邮件。通常,Dovecot的工作内容包括:验证用户身份以确保邮件不会被泄露。在本例中,Dovecot将负责所有的「身份验证」工作,我们会配置Dovecot查询本地的MySQL数据库以确认用户身份
MySQL: 不必多说,它将存储所有的用户信息,其中包括:需要监听的域名信息、用户邮箱地址、登录密码、邮箱别名「alias」等

工作原理


服务器接收邮件的过程

在开始讲述本例的内容之前,我们先来看看Postfix+Dovecot+MySQL是如何相互协作以实现邮件服务器的各项功能。我们假设 张三通过oschina.net的邮箱zhangsan@oschina.net发送一份邮件给 李四lisi@mydomain.com,则服务器接收邮件的过程大致如下图所示:

这里写图片描述

1. zhangsan@oschina.net发送邮件到lisi@mydomain.com
2. oschina.net服务器会通过DNS查询mydomain.com的MX记录并找到Postfix所在的服务器
3. 邮件被发送给Postfix
4. Postfix转向MySQL求助,以查询mydomain.com是不是需要处理的域名
5. MySQL返回确认信息给Postfix
6. Postfix将接受到的邮件投递给Dovecot的LMTP服务以便做处理
7. Dovecot将邮件内容保存到lisi@mydomain.com用户对应的磁盘路径

用户查收邮件的过程

上述例子中我们看到了服务器接收邮件的过程,接下来我们看看,当大家通过用户名密码登录邮箱查看邮件时,会发生什么事情:

这里写图片描述

1.邮件客户端 to Dovecot:尊敬的Dovecot大人,您好!我阔以建立一个IMAP加密连接吗?
2.Dovecot to 邮件客户端:当然阔以。这是我的SSL证书,请您告诉我帐号和密码!
3.邮件客户端 to Dovecot:好滴!这是我的用户名和密码,千万不要告诉别人哦!
4.Dovecot to MySQL:Hi 美女!请问下,这个用户名和密码是正确的嘛?
5.MySQL to Dovecot:好的,请稍后!呃……这个用户名和密码是正确的哦!
6.Dovecot打开存放在本地磁盘/var/mail/mydomain.com/llisi的mailbox
7.Dovecot获取到最新的邮件及其他相关信息
8.Dovecot将邮件及其相关的其他信息通过IMAP协议发送给客户端

用户发送邮件的过程

查收了最新的邮件之后,李四lisi@mydomain.com发现张三给他发来了邮件。现在,李四回复一封邮件给张三,会发生什么事情:

这里写图片描述

1.邮件客户端 to Postfix:尊敬的Postfix大人,您好!我阔以建立一个安全的SMTP连接嘛?
2.Postfix to 邮件客户端:说人话!可以就是可以,干嘛要说「阔以」啊!你丫贱啊,找抽啊!想建立SMTP连接可以,不过要加密。这是我的SSL证书,告诉我你的帐号和密码,你个贱人!
3.邮件客户端 to Postfix:对不起,大人,我错鸟!这是我的帐号和密码,不要告诉别人哦!
4.Postfix to Dovecot:Hi 帅哥,帮我查一下这个帐号和密码!
5.Dovecot to MySQL:Hi 美女,这个帐号和密码是正确的呢?!还是正确的呢?!还是……
6.MySQL to Dovecot:好啦,你乖啦!我查过啦,这个帐号密码是正确的啦!表卖萌哦,Dovecot君!
7.Dovecot to Postfix:大锅,则个帐号密码斯正缺滴!
8.Postfix to 邮件客户端:贱人,过来!你给的帐号密码是正确的,允许你发送邮件!
9.邮件客户端将编写好的邮件通过SMTP协议发送给Postfix
10.Postfix将收到的邮件转发给对方
以上,大家已经看到邮件收、发的整个过程
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值