1. mailx

1. 准备工作

  • 打开邮箱设置,开启pop3/smtp服务和imap/smtp服务
  • 安装mailx:yum install -y mailx

2. 配置

设置/etc/mail.rc文件,在文件尾追加如下配置,

set from=xxx@qq.com						#发件人邮箱
set smtp=smtp.qq.com
set smtp-auth-user=xxx@qq.com		#登录用户名
set smtp-auth-password=					#邮箱授权码,在QQ邮箱设置界面发短信生成
set smtp-auth=login							#登录

3. 发送邮件

$ echo "Hello Maxwell,这里是邮件正文." | mail -s "邮件主题" xxx@qq.com

等几秒钟,就可以收到邮件了

4. 其他参数

使用mail -h查看,带邮件正文
在这里插入图片描述

带正文邮件

#多个收件人使用逗号隔开
#重定向
mail -s "Tile"  xxx@qq.com,yyy@qq.com < /root/sms_out.txt 		
#管道			
cat /root/sms_out.txt  | mail -s "Tile"  xxx@qq.com

带附件邮件

mail -s "Tile"  xxx@qq.com  -a  /root/sms_out.txt  

5. 使用SSL SMTP发送邮件

从QQ邮箱获取SSL证书,并在CentOS中设置

#存放证书的位置
$ ~ mkdir -p /root/.certs
#获取QQ 邮箱的 SSL 证书
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
#如果出现Error in certificate: Peer's certificate issuer is not recognized.执行下面命令
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs -i ~/.certs/qq.crt
我遇到的错误提示Error in certificate: Peer's certificate issuer has been marked as not trusted by the.解决办法
$  certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs -i ~/.certs/qq.crt
Notice: Trust flag u is set automatically if the private key is present.

在这里插入图片描述
编辑/etc/mail.rc配置文件,修改和增加配置如下:

#修改
set smtp=smtps://smtp.qq.com:465
# set smtp-use-starttls
set ssl-verify=ignore
set nss-config-dir=/root/.certs

在这里插入图片描述
在这里插入图片描述

6. mail、mailx、sendmail和postfix对比

mail和mailx是邮件客户端,属于mail user agent,MUA,负责查看、编写邮件和向MTA发送邮件,mailx是mail的功能加强版。
sentmai和postfilx是邮件服务器,可以用做mail transport agent,MTA,负责邮件在网络上传输的MTA,将邮件从一个MTA传送至另一个MTA。
邮件用户代理(MUA,Mail User Agent);
邮件传送代理(MTA,Mail Transport Agent);
邮件分发代理(MDA,Mail Deliver Agent)。

2. sentmail

参考这个吧,目前没时间搞了
使用shell脚本发送邮件带附件:
https://blog.csdn.net/bingdianone/article/details/100879050

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐