centos 7 下发送邮件设置

使用sendmail发邮件的配置

yum -y install sendmail
service sendmail start

vim body.txt
test mail from linux.

mail -s "test mail from linux" yourname@163.com,yourname2@163.com <body.txt

mailq #查看邮件队列
cat /var/log/maillog

 【注意:】 多个邮件地址以西文,分割;

配置邮件发送显示账号

vim + /etc/mail.rc

# For Linux and BSD, this should be set.
set bsdcompat
set from=devops

#把devops换成自己想显示的名称

 ------------------------------------------------------------

邮件相关配置的文件

/etc/aliases

  ------------------------------------------------------------

如使用外部邮箱smtp方式发邮件,设置smtp的验证规则配置,同时,在network中配hostname定义,sendmail发邮件只识别hostname.

配置时from和=间不要有空格,不然提示“ Non-null variable name required”。

vim /etc/mail.rc
set from=yourname@163.com smtp=smtp.163.com
set smtp-auth-user=yourname@163.com smtp-auth-password=yourpassword smtp-auth=login

vim /etc/sysconfig/network
hostname mail.163.com

 ---------------------------------

【测试过程问题记录】

1、163的邮箱开启smtp服务时必须设置授权码,在/etc/mail.rc  smtp-auth-password设置成授权码,不然错给你看

      smtp-server: 535 Error: authentication failed

2、163邮箱不开启smtp服务,换个错误给你看

       smtp-server: 550 User has no permission

 3、安装后遇到 如下错误则安装mailx

-bash: mail: command not found

yum install mailx

【总结】

用smtp发个邮件好纠结,各路神仙都要照顾到,不然哪哪都要罢个工。

原文地址:https://www.cnblogs.com/mousean/p/5972272.html