因为最近牵扯到一个业务,需要用到邮件服务器,经过选择,还是以最古老的sendmail为例来做。下面是自己的安装部署过程,
写的比较乱,不过初学者可以尝试去做下,感觉还是蛮简单的。
1、安装软件
省略安装,直接yum
yum -y install sendmail sendmail-cf sendmail-devel dovecot cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain

2、进行部署,先部署MTA
vim /etc/mail/sendmail.m4
修改以下两项:


修改完后,保存退出。
生成sendmail.cf主配置文件。
mv /etc/mail/sendmail.cf /etc/mail/sendmail.cf-bak
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

设置local-host-names文件
echo "abc.com" >>/etc/mail/local-host-names
此处abc.com是域名,即DNS解析MX解析的域名

设置访问控制access和access.db。
access的配置为:地址  控制

如图所示,当然还有限制等等。。其它的用法,有兴趣可以研究下。

添加账户:
grouadd usermail
adduser -g usermail -s /sbin/nologin user1
passwd user1

设置别名:
vim /etc/aliases


如上图所加,最后一行为我所添加的,基本上规则就是这样,当然这里也支持群组,邮箱等等规则,添加完后刷新到aliases.db,
newaliases

检查smtp认证
sendmail的认证是依靠saslauthd的服务,
cd /usr/lib/sasl2
查找下面是否有Sendmail.conf的文件,如果没有则新建,
cat /usr/lib/sasl2/Sendmail.conf


显示上面则表示已经OK,重启saslauthd和sendmail服务,
service saslauthd restart
service sendmail restart

设置Pop3服务。
vim /etc/dovecot.conf
修改如下地方:


修改完后,启动dovecot服务。
service dovecot start

添加sendmail服务自启动
chkconfig --add sendmail
chkconfig --add dovecot
chkconfig --add saslauthd
chkconfig sendmail on
chkconfig dovecot on
chkconfig saslauthd on

在客户端测试。
如outlook中测试,pop3和smtp地址均为服务器ip地址或者域名,跟其他的邮箱测试一样,测试发送,接收等,基本应该正常。

注意点:
1、如果没有没有做MX记录,那就修改Hosts,我测试是没有问题的,不过网络邮箱无法发送至本地的邮件服务器,但是本地的发送至网络上是没问题。
2、邮件系统牵扯到的MTA,MUA,MDA概念及imap,smtp,pop3等协议基础知识,可以通过谷歌去查找,确认理解了原理后再去尝试搭建,否则会走很多弯路。
3、至于中继,虚拟域,web管理等等都可以通过sendmail来完成,后期再做说明。