Centos发送邮件
一、环境
系统:centos 7
sendmail:sendmail.x86_64 0:8.14.7-5.el7
mailx版本:mailx-12.5-19.el7.x86_64
二、软件安装:
1、安装 sendmail
#: yum -y install sendmail
2、安装mailx
# yum -y install mailx
三、配置发件人信息
1、在给大多数邮箱发送邮件我们不写就可以直接使用,但是对于一些比较特殊的邮箱使用的协议不一样,而我们这默认用的是SMTP协议;例如QQ邮箱他默认协议不一样,所以会直接丢到垃圾桶不会给我们提示信息,而我们做这一步的主要作用是,指定一下邮箱具体使用,如:邮箱账户、邮箱使用协议、账户名和密码等等。这样呢,当邮箱收到邮件后会提示你有未查看的邮件,不会像之前一样不提示直接丢到垃圾桶,总之一句话,要想用起来减少问题更好用,尽量添加以上这些指定信息!
2、添加发件人信息:
# vim /etc/mail.rc # 在文件末尾添加如下行,修改指定参数即可。
set //默认对外发送邮件的用户邮箱地址
set smtp=smtp.domain.com //选用默认发送邮件的公共邮件域名
set //默认对外发邮件的用户
set smtp-auth-password=password //对应默认用户的密码
set smtp-auth=login //默认使用login
四、测试 (两种方式测试)
方法一:(通过文件内容发送)
1、创建一个文本文件
# echo ‘this is test‘ > /root/test.txt
2、发送邮件:
格式:mail -s ‘主题‘ 邮箱 < 文本文件
# mail -s ‘test‘ test.cc.com < /root/test.txt
方法二:通过管道符直接发送
格式:echo ‘邮件内容‘ | mail -s ‘主题‘ 邮箱
# echo ‘test‘ | mail -s ‘test‘ test.cc.com
五、脚本配置
mkdir -p /root/.certs/
#向163请求证书
echo -n | openssl s_client -connect smtp.domain.com:465 | sed -ne ‘/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p‘ > ~/.certs/163.crt
#增加一个证书到证书数据库中
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
#再增加一个证书到证书数据库中
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
certutil -L -d /root/.certs
cd /root/.certs/
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 163.crt
#配置客户端信息
echo "
set #开启SMTP服务的邮箱
set smtp=smtps://smtp.domain.com :465
set
set smtp-auth-password=password #邮箱的授权码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs #证书所在目录
" >> /etc/mail.rc
#测试成功信息
echo "恭喜您!您已成功配置邮箱,现在可以正常收件!" | mail -s "PHP党建平台邮箱配置通知"