sendmail是最重要的邮件传输代理程序。理解电子邮件的工作模式是非常重要的。一般情况下,我们把电子邮件程序分解成用户代理,传输代理和投递代理。用户代理用来接受用户的指令,将用户的信件传送至信件传输代理,如:outlook express、foxmail等。而投递代理则从信件传输代理取得信件传送至最终用户的邮箱,如:procmail。

sendmail 百度百科:http://baike.baidu.com/link?url=asKcJpJ8RV7Rom2yvdx4E9Bz9TjgoXQBT_tpPC9Viubh81Jk_Qfq8FBPIrSXHReju2vwxOlkNp98_hGEkU1ZRK


安装sendmail之前 我们要先搭建一个DNS服务器用来解析邮件

下图是配置好的DNS正向解析记录和反向解析记录

wKioL1MRmM7jVIzYAAGu5cc09qo156.jpg

wKiom1MRmPTQroEHAAGHqGLNmq4234.jpg


DNS配置好之后我们就来安装sendmail服务     安装sendmail前先要安装一个依赖包  procmail

然后再安装sendmail服务

wKiom1MRmjby2Nf2AAOkuVOzHZs240.jpg

接下来我们来配置sendmail

打开/etc/mail/sendmail.mc

wKioL1MRmvKQ3smpAASI80zL9CY945.jpg


然后用 m4 sendmail.mc > sendmail.cf命令

wKiom1MRm6bwLoCsAAQIEb46Vjc819.jpg


配置好上面的文件后 安装dovecot服务


wKiom1MRnCrTAAZQAANmDjYb2c8903.jpg


配置dovecot服务

vim /etc/dovecot/dovecot.conf

wKioL1MRnGfiFLzLAARxbFJmeE0296.jpg


vim /etc/dovecot/conf.d/10-auth.conf

wKiom1MRnODhEpL4AAQCymb4hII483.jpg

Vim /etc/dovecot/conf.d/10-mail.conf


wKioL1MRnO-hjlodAAM7eQXCPxA092.jpg


修改之后新建几个邮件用户 给/var/mail/$USER 777权限

wKioL1MRncnhLl-qAANvmfuxU_g744.jpg


重启服务


wKiom1MRnleR2g7eAAO2QkxCaHQ708.jpg


开两台XP虚拟机 分别用user1与user2登录 然后测试收发邮件是否正常

测试之前先测试一下是否能解析sendmail服务器

wKiom1MRnw2SxeYGAAG770bddx4841.jpg


用user1给user2发送邮件试试

wKioL1MRn67xJoKzAAKcbqPduyQ166.jpg


如果出现以上错误 说明sendmail拒绝接收你的邮件  修改/etc/mail/access文件


wKioL1MRoHKzHjatAAKS_nvnoyg177.jpg


然后   makemap hash /etc/mail/access < /etc/mail/access //生成hash数据库

重启dovecot 服务


wKiom1MRoYyAtrl1AANkz-T0fdM723.jpg


重新发送邮件


发送出去以后发现 用户并没有收到邮件   查看邮件日志


修改 /etc/mail/local-host-names 在里面添加信任域

wKiom1MRpA7g_U_FAAEqi2EWDb8876.jpg


重启所有服务 并用user1发送邮件给user2进行测试

wKiom1MRpJSQviN_AALvfPPlMKo882.jpg


user2成功收到来自user1的邮件

wKiom1MRpNSzMr9EAAJ5sivsY7Q622.jpg