CentOS使用SMTP第三方發送郵件
1、SMTP協議簡介
SMTP稱為簡單郵件傳輸協議(Simple Mail Transfer Protocal),目標是向用戶提供高效、可靠的郵件傳輸。它的一個重要特點是它能夠在傳送中接力傳送郵件,即郵件可以通過不同網絡上的主機接力式傳送。通常它工作在兩種情況下:一是郵件從客戶機傳輸到服務器;二是從某一個服務器傳輸到另一個服務器。SMTP是一個請求/響應協議,它監聽25號端口,用於接收用戶的Mail請求,並與遠端Mail服務器建立SMTP連接。
2、SMTP協議工作機制
SMTP通常有兩種工作模式。發送SMTP和接收SMTP。具體工作方式為:發送SMTP在接收到用戶的郵件請求後,判斷此郵件是否為本地郵件,若是直接投送到用戶的郵箱,否則向
3、SMTP的連接和發送過程
(a)建立TCP連接
(b)客戶端發送HELO
服務器端正希望以OK作為響應,表明準備接收
(c)客戶端發送RCPT命令,以標識該電子郵件的計劃接收人,可以有多個RCPT行;
服務器端則表示是否願意為收件人接收郵件
(d)協商結束,發送郵件,用命令DATA發送
(e)以.表示結束輸入內容一起發送出去
(f)結束此次發送,用QUIT命令退出
#在CenrOS搭建:
使用的服務器版本:
[root@zlx ~]# uname -a
Linux zlx 2.6.32-642.6.2.el6.x86_64 #1 SMP Wed Oct 26 06:52:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
因為CentOS模式安裝了postfix郵件服務,我們先給他關閉
[root@zlx ~]# /etc/init.d/postfix stop
Shutting down postfix: [ OK ]
然後要是用mail命令來發送郵件,所以安裝
yum –y install mailx
然後編輯配置文件/etc/mail.rc
vim /etc/mail.rc
#使用qq郵箱來發送郵件
set [email protected] #你要使用的郵箱地址
set smtp=smtps://smtp.qq.com:465 #使用qq.com的465加密端口
set [email protected] #登錄郵箱使用的賬號
set smtp-auth-password=dcnhslrkexdbbgbh #qq郵箱開啟POP3/SMTP服務時提供的密碼,
set smtp-auth=login #用戶名和密碼登錄
set ssl-verify=ignore #使用ssl加密
set nss-config-dir=/etc/pki/nssdb/ #指定ssl證書所在的位置
QQ郵箱開啟POP3/SMTP服務,
設置à賬戶à POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務
點擊開啟:
然後他會告訴你一個授權碼:把這個授權碼填到剛才set auth-password=的位置
然後發送測試郵件:
[root@zlx ~]# echo 123 | mail -s "test Email" [email protected]
接受成功
剛開始做的時候沒有選擇ssl加密的方式連接,一直卡在
[root@zlx ~]# echo 123 | mail -v -s "test Email" [email protected]
Resolving host smtp.qq.com . . . done.
Connecting to 14.18.245.164 . . . 連接這一步,然後緊接著就報錯,所以我們選擇加密連接
CentOS使用SMTP第三方發送郵件