暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Centos7使用mailx发送邮件

菜涛学Java 2019-01-17
1206

上篇文章说要实现部署后发送部署相关信息邮件,所以使用Centos7,163邮箱(发送邮件),QQ邮箱接受邮件来实验下,遇到一小波折,记录下方便以后查阅。

安装mailx

  1. yum install mailx -y

配置mailx

  1. vi /etc/mail.rc

在最后添加以下内容

  1. set from=xxx@163.com #邮箱地址

  2. set smtp=smtp.163.com #邮件服务器

  3. set smtp-auth-user=xxx@163.com #邮箱地址

  4. set smtp-auth-password=xxxx #授权码(不知道获取请问度娘)

  5. set smtp-auth=login #默认login

发送邮件(三种发送格式)

  1. echo "邮件正文" | mail -s "邮件主题" xxx@qq.com

  2. cat file.log | mail -s "邮件主题" xxx@qq.com

  3. mail -s "邮件主题" xxx@qq.com < file.log

开心得去看收件邮箱,结果没有收到邮件,返回xshell看到

  1. [root@izwz9hpp9gmzo5x5e06iqjz etc]# echo "测试邮件正文"| mail -s "title" 1769974308@qq.com

  2. [root@izwz9hpp9gmzo5x5e06iqjz etc]# could not connect: Connection timed out

  3. "/root/dead.letter" 11/306

  4. . . . message not sent.

  5. could not connect: Connection timed out

  6. "/root/dead.letter" 11/308

  7. . . . message not sent.

  8. could not connect: Connection timed out

  9. "/root/dead.letter" 11/308

  10. . . . message not sent.

what? what? what? 不是说好得可以发邮件了吗?

本应该是这样子的

  1. [root@izwz9hpp9gmzo5x5e06iqjz etc]# echo hell send mail | mailx -v -s "title" 1769974308@qq.com

  2. Resolving host smtp.163.com . . . done.

  3. Connecting to 220.181.12.18:465 . . . connected.

  4. Error in certificate: Peer's certificate issuer is not recognized.

  5. Comparing DNS name: "*.163.com"

  6. SSL parameters: cipher=AES-256-GCM, keysize=256, secretkeysize=256,

  7. issuer=CN=GeoTrust RSA CA 2018,OU=www.digicert.com,O=DigiCert Inc,C=US

  8. subject=CN=*.163.com,OU=Game Dep.,O="NetEase (Hangzhou) Network Co.,Ltd",L=Hangzhou,ST=Zhejiang,C=CN

  9. 220 163.com Anti-spam GT for Coremail System (163com[20141201])

  10. >>> EHLO izwz9hpp9gmzo5x5e06iqjz

  11. 250-mail

  12. 250-PIPELINING

  13. 250-AUTH LOGIN PLAIN

  14. 250-AUTH=LOGIN PLAIN

  15. 250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFcYolHUCa0xDrUUUUj

  16. 250-STARTTLS

  17. 250 8BITMIME

  18. >>> AUTH LOGIN

  19. 334 dXNlcm5hbWU6

  20. >>> MTcwNTEwMjU3MDJAMTYzLmNvbQ==

  21. 334 UGFzc3dvcmQ6

  22. >>> MTg4MTkwNjc3NjJh

  23. 235 Authentication successful

  24. >>> MAIL FROM:<17051025702@163.com>

  25. 250 Mail OK

  26. >>> RCPT TO:<1769974308@qq.com>

  27. 250 Mail OK

  28. >>> DATA

  29. 354 End data with <CR><LF>.<CR><LF>

  30. >>> .

  31. 250 Mail OK queued as smtp14,EsCowAC30exAVD9ccIF9BA--.59073S2 1547654209

  32. >>> QUIT

  33. 221 Bye

  34. [root@izwz9hpp9gmzo5x5e06iqjz etc]#

网上终于找到相关解决方法

  1. https://stackoverflow.com/questions/16799407/mailx-and-gmail-nss-config-dir

正确的配置如下

  1. [root@izwz9hpp9gmzo5x5e06iqjz ~]# tac /etc/mail.rc

  2. set smtp-auth=login

  3. set smtp-auth-password=1881906xxxx

  4. set smtp-auth-user=17051025702@163.com

  5. ###smtp服务商#端口465#smtps协议

  6. set smtp=smtps://smtp.163.com:465

  7. set from=17051025702@163.com


  8. #使用命令find -name "cert*.db" 查找位置

  9. set nss-config-dir=/etc/pki/nssdb


  10. set ssl-verify=ignore

  11. #############################################################



文章转载自菜涛学Java,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论