内网里有一些机器无法使用外网,这样设定邮件报警的时候内部需要搭建一个邮件中继服务器来转发,查询后发现postfix在ubuntu下比较友好,摸索了一轮,测试成功,记录如下。
1.- 安装postfix
sudo apt install postfix
弹出对话框选择:Satellite system
接着domain,选择默认即可
SMTP relay host,填写SMTP服务器IP
2.- 完成后编辑配置文件
sudo vim /etc/postfix/main.cf
增加内容如下:
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:Username:Password
smtp_sasl_security_options =
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_use_tls = no
sender_canonical_maps = static:sender@address.com(这个用来取代默认的以hostname为domian)
然后网络参数这里需要修改,不然默认就只有本机自己能访问,无法作为其他机器的中继
mynetworks_style = subnet (not safe on a wide area network)
inet_interfaces = all
3.- 重新加载服务
sudo service postfix reload
或者重启服务
sudo service postfix restart
发送测试邮件看看:
sudo apt install mailutils
echo 'test' | mail -s 'test' sim@abc.com
查看mail日志:
cat /var/log/mail.log
4.- 在其它机器上配置此邮件服务器中继,此处以Synology SMTP配置为例
这里要注意的是将认证需求取消,邮件中继服务无需设定用户名密码,自动认证