centos 7 mailx邮件发送

Posted 看见月亮的人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos 7 mailx邮件发送相关的知识,希望对你有一定的参考价值。

一.安装mailx

安装客户端软件

yum -y install mailx

二.修改配置文件

  • 方案一:使用QQ邮箱
vim /etc/mail.rc
在配置文件下方添加如下内容
set bsdcompat
set from="xxx@qq.com"
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=xxx@qq.com
set smtp-auth-password=QQ邮箱密码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
  • 方案二:使用企业邮箱
set bsdcompat
set from=企业邮箱账号
set smtp=smtps://smtp.exmail.qq.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/

或

set bsdcompat
set from="企业邮箱账号"
set smtp=smtps://smtp.exmail.qq.com:465 
set smtp-auth-user=企业邮箱账号
set smtp-auth-password=邮箱密码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs

三.开启邮箱的smtp协议

开启腾讯邮箱的smtp发件协议

image

四.邮箱测试及报错解决

4.1 邮件发送格式

echo "邮件内容" | mail -s "标题" -a 附件文件 收件人邮箱

4.2 证书报错解决

mailx的操作还是蛮简单的,就是一直报一个错误

Error in certificate: Peer’s certificate issuer is not recognized.

问题原因:证书没有获得认可

解决方法:找个存放证书的目录

  • 1、获取证书
# mkdir -p /root/.certs/
# echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
# certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
# certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
# certutil -L -d /root/.certs

  • 2、修改mail.rc配置文件
set nss-config-dir=/root/.certs/
  • 3、生效证书
[root@localhost .certs]# pwd
/root/.certs
[root@localhost .certs]# ll
total 80
-rw------- 1 root root 65536 Nov  5 15:33 cert8.db
-rw------- 1 root root 16384 Nov  5 15:33 key3.db
-rw-r--r-- 1 root root  2415 Nov  5 15:29 qq.crt
-rw------- 1 root root 16384 Nov  5 15:29 secmod.db

[root@localhost .certs]# certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu"  -d ./ -i qq.crt 
Notice: Trust flag u is set automatically if the private key is present.

4.2 邮箱密码认证错误

  • 邮件发送报错:smtp-server: 535 Error: authentication failed
  • 报错原因:配置文件中邮箱密码错误
  • 解决方法:检查 mail.rc 配置文件中的邮箱密码是否正确

4.3 其它错误

  • 邮箱未配置smtp发件协议。
  • 邮箱开启了二次验证,建议关闭。

以上是关于centos 7 mailx邮件发送的主要内容,如果未能解决你的问题,请参考以下文章

Centos发送邮件

Centos发送邮件

centos上mailx通过465端口发送邮件

centos7 利用mailx发送邮件

Centos 配置mailx使用外部smtp发送邮件

Centos7使用sendmail发送邮件