简介

linux上mail命令是可以直接发送邮件,默认是使用本地的smtp。

配置

如果要使用其他的smtp服务,就需要配置mail.rc,有两个位置可以配置:一个是/etc/mail.rc这个是全局的,针对系统上的所有用户;一个是加目录下的~/.mailrc

如果是共用的就配置/etc/mail.rc,如果是多个人用一个系统建议就配置~/.mailrc

例如

配置163邮箱

vim ~/.mailrc
set smtp=smtps://smtp.163.com:465   # 这里填入smtp地址
set smtp-auth=login                 # 认证方式
set smtp-auth-user=opcai@163.com     # 这里输入邮箱账号
set smtp-auth-password=XXXXXXX     # 这里填入密码
set ssl-verify=ignore               # 忽略证书警告
set nss-config-dir=/etc/pki/nssdb   # 证书所在目录
set from=opcai@163.com(linux)              # 设置发信人邮箱和昵称
#set smtp-use-starttls=yes          # STARTTLS时使用

证书配置:

针对端口465

echo -n "" | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /etc/pki/nssdb/163.crt

针对端口587(看smtp的端口进行选择)

echo -n | openssl s_client -starttls smtp -connect smtp.163.com:587 | sed -ne '/-BEGIN CERTIFICATE-/, /-END CERTIFICATE-/p' > /etc/pki/nssdb/163.crt

设置信任:

certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i /etc/pki/nssdb/163.crt

测试

mail -s "标题" opcai@qq.com < /tmp/data.log