1. mailx
1. 准备工作
打开邮箱设置,开启pop3/smtp服务和imap/smtp服务安装mailx:yum install -y mailx
2. 配置
设置/etc/mail.rc文件,在文件尾追加如下配置,
set from=xxx@#发件人邮箱set smtp=set smtp-auth-user=xxx@#登录用户名set smtp-auth-password=#邮箱授权码,在QQ邮箱设置界面发短信生成set smtp-auth=login#登录
3. 发送邮件
$ echo "Hello Maxwell,这里是邮件正文." | mail -s "邮件主题" xxx@
等几秒钟,就可以收到邮件了
4. 其他参数
使用mail -h查看,带邮件正文
带正文邮件
#多个收件人使用逗号隔开#重定向mail -s "Tile" xxx@,yyy@ < /root/sms_out.txt #管道cat /root/sms_out.txt | mail -s "Tile" xxx@
带附件邮件
mail -s "Tile" xxx@ -a /root/sms_out.txt
5. 使用SSL SMTP发送邮件
从QQ邮箱获取SSL证书,并在CentOS中设置
#存放证书的位置$ ~ mkdir -p /root/.certs#获取QQ 邮箱的 SSL 证书echo -n | openssl s_client -connect :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.crtNotice: Trust flag u is set automatically if the private key is present.
编辑/etc/mail.rc配置文件,修改和增加配置如下:
#修改set smtp=smtps://:465# set smtp-use-starttlsset ssl-verify=ignoreset 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脚本发送邮件带附件:
/bingdianone/article/details/100879050