Ubuntu中配置mail命令使用外部的stmp发送邮件
因为在日常运维过程中我们需要使用mail命令,实时的发送服务器的一些状态参数或者监控服务器的运行状态,所以在mail的日常应用中还是非常的高频,鉴于我们做的站点大部分不开启自己本身的邮箱服务所以我们还是尽量使用外部的stmp邮箱服务来完成我们这个发信过程。
!!!注意!!!Ubuntu于其他发行版的不同,需要注意安装mail命令和相关软件包时的几个坑
1.安装heirloom-mailx mailutils
需要将
1 | deb http://cz.archive.ubuntu.com/ubuntu xenial main universe |
添加到/etc/apt/sources.list中并执行apt-get update后再apt install heirloom-mailx mailutils
因为heirloom-mailx并不在官方的源内。
2.修改配置文件 /etc/s-nail.rc
添加如下配置
1 | set from=xxx@xxx.com #设置发送邮箱 |
3.修改服务器的主机名称
1 | $> hostname |
一般VPS的名称大部分为一个无序字符串组成,这个字符串在发信时会不符合目的邮件服务器的要求一般会出现550错误,126会出现以下的:
1 | <<< 550 MI:IMF 126 mx2,IMmowACXz0un8TlfJMPIAg--.47921S3 1597632936 http://mail.163.com/help/help_spam_16.htm?ip=173.82.56.165&hostid=mx2&time=1597632936 |
google也是会出现类似的550错误,这个错误是因为我们的主机名不符合邮件服务器的要求,将你的主机名修改xxx.com类似的形式即可发信成功
1 | hostname xxx.xxx.com |
或者可以
1 | vim /etc/hostname |