安装mail:
一般centos都默认有安装mail,若/etc/mail.rc文件不存在则需安装安装mail:yum install -y mailx
查看mail日志文件:cat var/log/maillog
1、本地用阿里云邮箱发件
vim /etc/mail.rc
set from=我这里用的是阿里的企业邮箱
set smtp=smtp.aliyun.com
set smtp-auth-user=同上邮箱
set smtp-auth-password=密码
set smtp-auth=login
测试发邮件:mail -s 'Test mail' XX@qq.com < /etc/passwd
报错:smtp-server: 526 Authentication failure[0]
查了一下资料,发现如果用的是阿里云的邮箱,则smtp服务器地址得用smtp.mxhichina.com
2、本地用qq邮箱发件
vim /etc/mail.rc
set from=XX@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=XX@qq.com
set smtp-auth-password=密码
set smtp-auth=login
报错:smtp-server: 530 Error: A secure connection is requiered(such as ssl). More information at http://service.mail.qq.com/cgi-bin/help?id=28
相关资料说的是,qq邮箱发信需要ssl,需开启smtp发信以及pop3收信功能,并且set smtp-auth-password这里的值取的是授权码,在qq邮箱的pop3/smtp设置时可获取到授权码
配置文件更改如下:
set from=xx@qq.cn
set smtp="smtps://smtp.qq.com:465"
set smtp-auth-user=xx@qq.cn
set smtp-auth-password=授权码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb
3、在阿里云ecs上用阿里企业邮箱发信
sendmail默认使用的是25端口,而阿里云的ecs出口是不开放25端口的,故只能通过80或465端口发信,
80端口配置如下:
set from=阿里的企业邮箱
set smtp="smtp://smtp.mxhichina.com:80"
set smtp-auth-user=阿里的企业邮箱
set smtp-auth-password=密码
set smtp-auth=login
465端口配置如下:
set from=阿里的企业邮箱
set smtp="smtps://smtp.mxhichina.com:465"
set smtp-auth-user=阿里的企业邮箱
set smtp-auth-password=密码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb
PS:发送带附件的邮件命令为:
echo "正文" | mail -s "标题" -a 文件绝对路径 XX@qq.com