记一次该死的邮件服务器配置
摘要:记一次该死的邮件服务器配置
环境: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
(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
改后图片:
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。修改图如下:
(5)修改/etc/hosts文件
(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)所用全部配置文件
(13)总结
一个破环境弄了两天,网上全是centos。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。