写在前面的话:
已经三个多月,没有更新了,最近事情比较多。各种值班没有使用来写文章。也发生很多事情,想了很多事情吧。这篇文章也是很早之前就在做实验准备写了。先发一部分吧。
1.测试环境
a)Centos 6.7
b)测试软件postfix
2.电子邮件原理
本文在将简要的记录,基于postfix、SASL、Dovecot搭建一个测试的邮件服务器。属于我学习的一个记录。现在搭建几乎每天都在使用电子邮件,你们对真正了解电子邮件原理的人不是特别多。电子邮件是怎么传输的呢?
邮件系统:MUA (邮件用户代理) [其实就是客户端]、MTA(邮件传输代理)[服务器软件]、MDA(邮件投递代理)[从MTA接受邮件,放到本地的账户收件箱中]
主要用到协议:SMTP (简单邮件传输协议)、POP(邮局协议)、IMAP(互联网邮件访问协议)
邮件传输过程:
常用的邮件服务器软件:sendmail、postfix、Qmail
在实际的系统中,MTA,MUA,MDA以及POP/IMAP服务器等组件均可以由不同软件承担,还包括账号管理,信箱管理,安全传输,以及web访问等。因此邮件系统的建立需要很多的软件集成。本文只是在使用postfix软件学习邮件服务器一些简单测试。
简单邮件传输协议SMTP ——TCP/IP协议 传输层的协议 tcp 25
邮局协议POP3 ——tcp 110 读取邮件时候使用的协议 客户端从服务器下载邮件
Internet消息访问协议IMAP ——应用层协议 143端口 客户端和服务器 邮件读取协议(功能更多)
3.软件安装
通过上面可以查看系统默认已经安装postfix,并且已经在运行中,但是这个功能是不完善的,只有postfix服务提供了25端口,另一个与客户端连接的110端口还需其他软件。
Postfix服务器的配置相当复杂,涉及到操作系统的用户认证、用户特权、数据库文件、DNS配置,还有web页面等等。本文只是对简单的配置入手,后续还需要学习。
下面的是postfix源码安装时候下载地址。postfix
Postfix 没有认知模块所以需要安装SASL配合认证
./configure --disable-anon --enable-login --enable-ntlm --with-saslauthd=/var/run/saslauthd
因为连接了外网,我是只有yum install gcc -y安装
自己编译安装时候还是出现报错,查询写资料说是头文件造成的,需要修改些参数。但是具体操作我没有做,因为我发现系统是已经安装了cyrus-sasl 版本比我下载低了点。还有我使用系统是64位lib文件大部分都是在lib64中而不是lib中,这个需要特别注意
在安装问sasl和postfix可以检测下postfix是否使用了sasl2
ldd /usr/sbin/postconf
运行postfix
测试端口也正常
但是不能直接使用明文的用户名密码登录需要是 base64加密
root: cm9vdA== 1qaz1qaz: MXFhejFxYXo=
4.配置环境
使用smtp的sasl验证时候需要在main.cf中加入
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,reject_non_fqdn_recipient
smtpd_sasl_application_name = smtpd
重启sasl和postfix。
再使用base64加密用户名和密码就,可以验证登录成功。
在main.cf主配置文件主要有以下内容需要注意:(后续在写客户端登录 web界面 等等在写吧 还有配置文件的,简单概述)