安装sendmail,dovecot
yum -y install sendmail* dovecot*
将域名加入到local-host-names文件
#
cd /etc/mail
vi local-host-names
#*****文件内容*****
abc.com
abc.io
配置access文件
通过access文件可以对通过SendMail的邮件流进行控制
vi access
#文件末尾添加允许接收网段
Connect:192.168.111.0 RELAY //192.168.111网段允许接收
设置sendmail服务的SMTP认证和网络访问权限
vi sendmial.mc
#1.配置Senmail的SMTP认证
#第52行53行 // 将两行行首的dnl去掉。在sendmail文件中,dnl表示该行为注释行,是无效的,因此通过去除行首的dnl字符串可以开启相应的设置行。
TRUST_AUTH_MECH('EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define('confAUTH_MECHANISMS', 'EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
#2.设置Sendmail服务的网络访问权限
#第118行改成 Addr=0.0.0.0 //将127.0.0.1改为0.0.0.0,意思是任何主机都可以访问Sendmail服务。如果仅让某一个网段能够访问到Sendmail服务,将127.0.0.1改为形如192.168.1.0/24的一个特定网段地址。
DAEMON_OPTIONS('Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
生成配置文件
Sendmail的配置文件由m4来生成,m4工具在sendmail-cf包中。如果系统无法识别m4命令,说明sendmail-cf软件包没有安装
m4 sendmail.mc > sendmail.cf
编辑dovecot主配置文件
vi /etc/dovecot/dovecot.conf
#第24行,去除# 支持的电子邮件协议修改为imap、pop3和lmtp
protocols = imap pop3 lmtp
配置邮件保存路径
vi /etc/dovecot/conf.d/10-mail.conf
#第25行去除# 定义要把收到的邮件信息保存到服务器本地的路径
mail_location = mbox:~/mail:INBOX=/var/mail/%u
允许客户明文登陆
vi /etc/dovecot/conf.d/10-auth.conf
# 第10行去除# 允许客户的明文登陆行为
disable_plaintext_auth = yes
禁用ssl认证(可省略)
vi /etc/dovecot/conf.d/10-ssl.conf
#第8行,行首添加#
#ssl = required //禁用ssl认证
创建用户
useradd mailtest1 #创建mailtest1用户
passwd mailtest1 #设置密码
useradd mailtest2
passwd mailtest2
创建邮箱账户别名
Sendmail有一个非常实用的功能,就是为每个账号取别名(Aliase) 会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。 所以这个配置文件是可配也可以不配,具体视你的需求而定。
vi /etc/aliases
#G到最后,按格式添加别名
#------------------------------
#别名:真名
#------------------------------
test1: mailtest1
aaa: mailtest1
bbb: mailtest1
#如此一来,不管用户发送邮件给test1,aaa,bbb其接收邮件的账号都是mailtest1
在用户目录新建保存邮件的目录
mkdir -p /home/mailtest1/mail/.imap/INBOX
mkdir -p /home/mailtest2/mail/.imap/INBOX
重启服务
systemctl restart sendmail
systemctl restart dovecot
systemctl restart saslauthd #saslauthd服务(SMTP服务)重启动