一,2016年9月后購買的阿里雲ecs不再支持通過25端口發送郵件
官方的建議是使用465端口
465端口(SMTPS):
465端口是為SMTPS(SMTP-over-SSL)協議服務開放的
它是SMTP協議基於SSL安全協議之上的一種變種協議,
它有SSL安全協議的非對稱加密的高度安全可靠性,可以保證郵件的安全性
測試連接到25端口:
[root@aliecs ~]# telnet smtp.163.com 25 Trying 220.181.12.13...
沒有響應
測試連接到465:
[root@aliecs ~]# telnet smtp.163.com 465 Trying 220.181.12.13... Connected to smtp.163.com. Escape character is '^]'. ^] telnet> quit Connection closed.
沒問題,可以連接
說明:劉宏締的架構森林是一個專注架構的博客,地址:https://www.cnblogs.com/architectforest
對應的源碼可以訪問這里獲取: https://github.com/liuhongdi/
說明:作者:劉宏締 郵箱: 371125307@qq.com
二,在163郵箱得到授權碼:
我們在這里以常用的163郵箱為例,先獲取授權碼。
1, 什么是授權碼?
當我們從非網易官方的客戶端連接smtp服務時,
需要使用授權碼作為密碼,而不是到郵箱的登錄密碼。
這個授權碼需要單獨獲取一次
即:我們在linux上使用163個人郵箱發郵件時,
需要使用的密碼不是郵箱登錄密碼,而是授權碼
2,登錄到163郵箱->設置->POP3/SMTP/IMAP->
看截圖
在pop3/smtp服務后點“開啟”按鈕
網易會提示綁定手機號,
看截圖:
手機號綁定成功后,再次點擊開啟
網易會提示要求使用綁定的手機號發送一條短信到指定號碼,
發送成功后會顯示授權碼:
看截圖:
注意這個授權密碼只顯示一次,一定要保存好
三,配置mailx發郵件
[root@aliecs ~]# vi /etc/mail.rc
在文件末尾增加以下內容
#by lhd set from=cbnabcd@163.com set smtp=smtps://smtp.163.com:465 set smtp-auth-user=cbnabcd@163.com set smtp-auth-password=SHOUQUANMA set smtp-auth=login set ssl-verify=ignore set nss-config-dir=/root/.certs
四,生成供發郵件用的證書:
1,創建目錄
[root@aliecs ~]# mkdir /root/.certs
2,生成相應的證書:
#s_client:是一個SSL/TLS客戶端程序,它能與s_server通信,也能與其他使用ssl協議的其他服務程序進行通信
#sed:打印證書開頭和結尾中間的內容
#>:保存到.certs/163.crt這個證書文件中
[root@aliecs ~]# echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt
五,測試發送郵件
#-s:指定subject標題
#-v:verbose模式,在用戶終端上顯示信息傳遞的細節
#<a.txt: 傳遞郵件內容,也可以手動書寫按ctrl+d發送
[root@aliecs ~]# mail -v -s "subject_title" 371125307@qq.com <a.txt Resolving host smtp.163.com . . . done. Connecting to 220.181.12.18:465 . . . connected. 220 163.com Anti-spam GT for Coremail System (163com[20141201]) >>> EHLO aliecs 250-mail 250-PIPELINING 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFKVMJAUCa0xDrUUUUj 250-STARTTLS 250 8BITMIME >>> AUTH LOGIN 334 dXNlcm5hbWU6 >>> Y2Jud2Vla2hiQDE2My5jb20= 334 UGFzc3dvcmQ6 >>> VFZQUERTQ0xVVUlWVUxPTA== 235 Authentication successful >>> MAIL FROM:<cbnabcd@163.com> 250 Mail OK >>> RCPT TO:<371125307@qq.com> 250 Mail OK >>> DATA 354 End data with <CR><LF>.<CR><LF> >>> . 250 Mail OK queued as smtp14,EsCowAD3_aVX18ReQDkBCg--.14523S2 1589958489 >>> QUIT 221 Bye
六,查看mailx的版本:
[root@aliecs ~]# mail -V 12.5 7/5/10