内网里有一些机器无法使用外网,这样设定邮件报警的时候内部需要搭建一个邮件中继服务器来转发,查询后发现postfix在ubuntu下比较友好,摸索了一轮,测试成功,记录如下。


1.- 安装postfix

sudo apt install postfix

弹出对话框选择:Satellite system

postfix做为邮件中继服务器_mail relay

接着domain,选择默认即可

postfix做为邮件中继服务器_mail relay_02

SMTP relay host,填写SMTP服务器IP

postfix做为邮件中继服务器_postfix_03


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)

postfix做为邮件中继服务器_邮件中继_04

然后网络参数这里需要修改,不然默认就只有本机自己能访问,无法作为其他机器的中继

 mynetworks_style = subnet  (not safe on a wide area network)

 inet_interfaces = all

postfix做为邮件中继服务器_postfix_05


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

postfix做为邮件中继服务器_邮件中继_06


4.- 在其它机器上配置此邮件服务器中继,此处以Synology SMTP配置为例

这里要注意的是将认证需求取消,邮件中继服务无需设定用户名密码,自动认证

postfix做为邮件中继服务器_邮件中继_07