摘要:记一次该死的邮件服务器配置

环境:ubuntu 16.04,sendmail,dovecot

(1)安装相关软件

sudo apt-get install sendmail  sendmail-cf
sudo apt-get install mailutils

ubuntu用的阿里源,安装mailutils时爆出来某个软件不存在,把清华源也添加进去,apt-get update更新源,重新安装就可以了。

(2)修改监听地址

将光标中的Addr:127.0.0.1就改成Addr:0.0.0.0

邮件服务器配置1.jpg

(3)设置权限

以下多余配置,可直接跳到步骤5

在/etc/mail/sendmail.mc中

DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
改成
DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=0.0.0.0')dnl

找到FEATURE(`access_db', , `skip')dnl注释掉,改成

FEATURE(`access_db')dnl
FEATURE(`use_ct_file')dnl

改后图片:

邮件服务器配置2.jpg

FEATURE(`access_db')dnl会将邮件后面的域名和access_db里面的数据对比,从而过滤邮件。
FEATURE(`access_db', , `skip')dnl不会对邮件域名进行检查,最省力做法。
FEATURE(`use_ct_file')dnl可以允许用户以其他名字发送邮件,需要和/etc/mail/trusted-users配合使用。

echo "测试邮件内容,成功啦!" | mail -s "邮件标题,测试" -r from@ipcpu.com to@ipcpu.co

上面会指定邮件来源为from@ipcpu.com从而伪造发信人,前提将真实发信人添加到trusted-users里面,否则to@ipcpu.co收到的信件里会提示:

X-Authentication-Warning: host: user set senderto other using -f 

(4)设置access文件

将ip添加进/etc/mail/access文件,我局域网ip为192.168.1.102。修改图如下:

邮件服务器配置3.jpg

(5)修改/etc/hosts文件

邮件服务器配置4.jpg

(6)重启服务

makemap hash /etc/mail/access.db < /etc/mail/access
makemap hash /etc/mail/aliases.db < /etc/mail/aliases
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
sudo service sendmail restart

(7)发送邮件

电脑一个root用户,一个rootroot用户。,root给rootroot发送邮件

echo hello | mail -s "12306" rootroot@study.com

(8)接收邮件

切换到rootroot用户

su rootroot
mail

即可查看rootroot用户的收到的邮件

(9)给邮件设置别名

在/etc/mail/sendmail.mc中添加

define(`ALIAS_FILE', `/etc/aliases')dnl

在/etc/aliases中添加

admin: root

命令行运行下面命令(如果报错,删除aliases.db,重写运行下面命令)

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

重启sendmail服务

echo hello | mail -s "12306" admin@study.com

root用户即可收到邮件

(10)配置dovecot服务

sudo apt-get install dovecot-pop3d

在/etc/dovecot/dovecot.conf中添加下列

protocols = pop3
mail_location = mbox:~/mail:INBOX=/var/mail/%u
login_trusted_networks = 192.168.1.0/24

# listen = *, ::
# disable_plaintext_auth = no

修改成

listen = *, ::
disable_plaintext_auth = no

在/etc/dovecot/conf.d/10-auth.conf中修改

auth_mechanisms = plain 

auth_mechanisms = plain login

在/etc/mail/sendmail.mc中

MAILER(`local')dnl
MAILER(`smtp')dnl

改为(emmm这一步,貌似不用改也行)

dnl # MAILER(`local')dnl
MAILER(`smtp')dnl
MAILER(`procmail')dnl

(11)运行以下命令

makemap hash /etc/mail/aliases.db < /etc/mail/aliases
makemap hash /etc/mail/access.db < /etc/mail/access
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
sudo service sendmail restart
sudo service dovecot restart

(12)所用全部配置文件

邮件服务器配置文件.rar
mailer配置说明文件

(13)总结

一个破环境弄了两天,网上全是centos。