首页 > 主页 > 鬼谷子叔叔
日志:116 评论:13
北京, 西城
【工具】Sendmail学习笔记(CentOS7)

介绍

介绍

通过sendmail搭建我们自己的电子邮箱系统。

安装

安装sendmail

sendmail是搭建电子邮箱系统的基础服务

yum -y install sendmail sendmail-cf m4

安装cyrus

cyrus是用来实现smtp认证的服务

yum -y install cyrus-sasl cyrus-sasl-md5 cyrus-sasl-plain cyrus-sasl-lib

安装dovecot

yum -y install dovecot

配置sendmail

sendmail.mc

打开 /etc/mail/sendmail.mc

找到以下内容,把前面的注释“”去掉

TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

找到以下内容,把127.0.0.1改成0.0.0.0

DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

通过mc文件生成cf文件

m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

access

打开 /etc/mail/access

在里面写上邮箱服务器的IP地址或者域名

test.tongfu.net                    RELAY

使用makemap生成db文件

makemap hash /etc/mail/access.db < /etc/mail/access

local-host-names

打开 /etc/mail/local-host-names

在里面写上邮箱服务器的域名

test.tongfu.net

重启sendmail

systemctl restart sendmail

配置saslauthd

打开 /etc/sysconfig/saslauthd

设置认证方式为shadow

MECH=shadow

重启saslauthd

systemctl restart saslauthd

配置dovecot

10-auth.conf

打开 /etc/dovecot/conf.d/10-auth.conf

把 disable_plaintext_auth 设置为 no

disable_plaintext_auth = no

10-ssl.conf

打开 /etc/dovecot/conf.d/10-ssl.conf

把 ssl 设置为 yes

ssl = yes

10-mail.conf

打开 /etc/dovecot/conf.d/10-mail.conf

修改 mail_location

mail_location = mbox:~/mail:INBOX=/var/mail/%u

重启dovecot

systemctl restart dovecot

自动创建INBOX目录

dovecot需要在用户目录下创建INBOX目录,我们可以通过修改模板用户skel的.bashrc文件来做这个事情

打开 /etc/skel/.bashrc

在里面添加代码

# Create mail directory
if [ ! -d ~/mail/.imap/INBOX ] ; then
        mkdir -p ~/mail/.imap/INBOX
fi

这样新创建的用户登录的时候就会自动创建INBOX目录了

笔者发现在使用 useradd 创建用户后,即使通过客户端连接 pop3 服务器,INBOX目录也不会自动创建。需要在服务器上通过 su 登录一下新用户才行。

自动启动

systemctl enable sendmail
systemctl enable saslauthd
systemctl enable dovecot


未完待续