Linux 使用命令发送邮件

Linux 使用命令发送邮件

1. 关闭本机的sendmail服务或者postfix服务

#执行下面的命令,注意区分Liunx系统
#sendmial
service sendmail stop
chkconfig sendmail off
#postfix
service postfix stop
chkconfig postfix off

#或者直接卸载吧..
yum remove sendmail
yum remove postfix

2. 添加发件人

   首先编辑配置文件, mail配置文件地址为/etc/mail.rc, 添加发件人配置

set from=xxxxxxxx@163.com
set smtp=smtps://smtp.163.com:994
set smtp-auth-user=xxxxxxxxx@163.com
# 可能需要授权密码
set smtp-auth-password=*******
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/

3. 邮件内容

mail -v -s "主题" 收件人

echo "邮件内容" | mail -v -s "主题" 收件人

cat /root/a.txt | mail -v -s "主题" 收件人
mail -v -s "主题" 收件人 < /root/a.txt

4. 问题

    Error in certificate: Peer’s certificate issuer is not recognized.
    证书出问题, 自建一个信任证书, 并将mail.rc中nss-config-dir指向新建证书地址

mkdir -p /root/.certs/
echo -n | openssl s_client -connect smtp.163.com:994 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /root/.certs/163.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d /root/.certs -i /root/.certs/163.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d /root/.certs -i /root/.certs/163.crt
certutil -L -d /root/.certs
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu"  -d ./ -i /root/.certs/163.crt

其他问题

posted @ 2020-09-09 20:45  willwuss  阅读(425)  评论(0编辑  收藏  举报