liunx使用mail发送邮件

安装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' [email protected] < /etc/passwd

报错:smtp-server: 526 Authentication failure[0]

查了一下资料,发现如果用的是阿里云的邮箱,则smtp服务器地址得用smtp.mxhichina.com

 

2、本地用qq邮箱发件

vim /etc/mail.rc

set [email protected]
set smtp=smtp.qq.com
set smtp-auth-user=[email protected]
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 [email protected]
set smtp="smtps://smtp.qq.com:465"
set smtp-auth-user=[email protected]
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 文件绝对路径  [email protected] 

你可能感兴趣的:(liunx)