狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

釣魚系列-電子郵件系統(tǒng)之SMTP、IMAP協(xié)議介紹

admin
2024年4月9日 23:47 本文熱度 1351




SMTP協(xié)議介紹

SMTP(Simple Mail Transfer Protocol)即簡(jiǎn)單郵件傳輸協(xié)議,郵件通過(guò)這個(gè)協(xié)議在MUA和MTA、MTA和MTA之間傳輸。有了第一篇的基礎(chǔ),相信大家也都了解到了,整個(gè)互聯(lián)網(wǎng)郵箱體系能夠正常運(yùn)行的核心就是SMTP協(xié)議,這個(gè)協(xié)議好比郵箱界的 HTTP。有了 SMTP ,大家都遵守同一套的傳輸規(guī)范, 它保證了你發(fā)出去的郵件對(duì)方的MTA能收到,也保證了對(duì)方MTA發(fā)過(guò)來(lái)的郵件你可以收到。要保持你的郵箱系統(tǒng)能夠正常運(yùn)作,甚至 POP3/IMAP 協(xié)議都不是必須的,如果你不需要通過(guò)客戶端收郵件的話,那么你其實(shí)可以通過(guò)登錄郵件服務(wù)器主機(jī)直接使用mail/mailx 或者mutt 這樣的命令行工具就可以進(jìn)行郵件的收發(fā)。我們現(xiàn)在最常用的webmail,如網(wǎng)易、gmail的網(wǎng)頁(yè)郵箱其實(shí)也沒(méi)有用到 POP3/IMAP協(xié)議(除非你需要配置客戶端)。



SMTP也是基于TCP協(xié)議的






下面是命令和應(yīng)答清單





郵件的報(bào)文格式封裝


(這里要注意的是報(bào)文的信封部分是不會(huì)體現(xiàn)在郵件內(nèi)容里面的。smtp協(xié)議是能夠直接通過(guò)telnet工具執(zhí)行命令的)


2

使用SMTP服務(wù)器收郵件


我們這里假設(shè)有一個(gè)郵件服務(wù)商叫做 abc.mail(僅用于演示,非真實(shí),下同),其他郵箱基本也都差不太多。首先通過(guò)nslookup命令找到mx記錄,查詢 abcmail用于收件的smtp服務(wù)器地址(一般叫Mail Exchanger,MX)

bob$ nslookup -type=mx abc.mail
abc.mail    MX preference = 15, mail exchanger = mx6.abc.mailabc.mail    MX preference = 10, mail exchanger = mx2.abc.mailabc.mail    MX preference = 10, mail exchanger = mx4.abc.mailabc.mail    MX preference = 10, mail exchanger = mx3.abc.mailabc.mail    MX preference = 10, mail exchanger = mx1.abc.mailabc.mail    MX preference = 15, mail exchanger = mx5.abc.mail


我們選擇 mx1.abc.mail 這個(gè)服務(wù)器,直接telnet它的25端口,相關(guān)輸入的命令我寫在了后面的注釋里,實(shí)際執(zhí)行時(shí)要去掉:


bob % telnet mx1.abc.mail 25Connected to mx1.abc.mail.Escape character is '^]'.220 mx.abc.mail ESMTP c16-20020a170902d49000b0019e25cff4f5si9627390plg.617 - gsmtphelo app //通知smtp服務(wù)端開(kāi)啟會(huì)話,helo 后面的內(nèi)容可以隨便輸入,還有一個(gè)增強(qiáng)型的命令ehlo,能夠返回更多服務(wù)端的內(nèi)容250 mx.abc.mail at your servicemail from://發(fā)件人地址250 2.1.0 OK c16-20020a170902d49000b0019e25cff4f5si9627390plg.617 - gsmtprcpt to://收件人地址250 2.1.5 OK c16-20020a170902d49000b0019e25cff4f5si9627390plg.617 - gsmtpdata //開(kāi)始郵件內(nèi)容編寫354  Go ahead c16-20020a170902d49000b0019e25cff4f5si9627390plg.617 - gsmtpfrom: foobar//郵件首部to: foobar//郵件首部subject: hello //郵件首部
this is text //郵件正文. //郵件內(nèi)容以一個(gè)半角的.結(jié)束550-5.7.28 [156.146.145.84       1] Our system has detected an unusual rate of550-5.7.28 unsolicited mail originating from your IP address. To protect our550-5.7.28 users from spam, mail sent from your IP address has been blocked.20020a170902d49000b0019e25cff4f5si9627390plg.617 - gsmtp


郵件被拒絕發(fā)送,原因是發(fā)件方MTA的ip地址未經(jīng)授權(quán)。一般來(lái)說(shuō),MX服務(wù)器默認(rèn)對(duì)方也是MTA,需要進(jìn)行各種安全認(rèn)證,我們是通過(guò)個(gè)人電腦連接上去,自然是通不過(guò)認(rèn)證了。目前各大郵箱的發(fā)送方身份認(rèn)證策略都設(shè)置的比較完善了,隨便設(shè)置發(fā)件人郵箱方法行不通。

3

使用SMTP服務(wù)器發(fā)郵件

abc.mail 發(fā)送郵件的服務(wù)器為 smtp.abc.mail ,我們先來(lái)測(cè)試一下25端口:


bob% telnet smtp.abc.mail 25            Connected to smtp.abc.mail.Escape character is '^]'.220 smtp.abc.mail ESMTP d13-20020a170902b70d00b001a1d553de0fsm5958849pls.271 - gsmtpehlo app250-smtp.abc.mail at your service,250-SIZE 35882577250-8BITMIME250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250 SMTPUTF8250 smtp.abc.mail at your servicemail from:530 5.7.0 Must issue a STARTTLS command first. d13-20020a170902b70d00b001a1d553de0fsm5958849pls.271 - gsmtp


可以看到發(fā)件人需要進(jìn)行認(rèn)證,而認(rèn)證必須在tls連接中進(jìn)行,從而有效保護(hù)傳輸?shù)男畔踩elnet是不支持tls連接的,這里使用openssl工具來(lái)進(jìn)行安全連接:


openssl s_client -starttls smtp -connect smtp.abc.mail:587 -crlf -ign_eof...ehlo app250-smtp.abc.mail at your service, 250-SIZE 35882577250-8BITMIME250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250 SMTPUTF8auth login334 VXNlcm5hbWU6Zm9vYmFy //用戶名base64編碼,演示用非真實(shí)334 UGFzc3dvcmQ6Zm9vYmFy //應(yīng)用專用密碼base64編碼,演示用非真實(shí)235 2.7.0 Acceptedmail from:250 2.1.0 OK z14-20020a6553ce000000b00502f017657dsm5485604pgr.83 - gsmtprcpt to:250 2.1.5 OK z14-20020a6553ce000000b00502f017657dsm5485604pgr.83 - gsmtpdata354  Go ahead z14-20020a6553ce000000b00502f017657dsm5485604pgr.83 - gsmtpfrom: foobarto: foobarsubject: helo
text.250 2.0.0 OK  1681052959 z14-20020a6553ce000000b00502f017657dsm5485604pgr.83 - gsmtp


587端口是smtp 的 starttls的端口(也可以使用25端口),可以看到建立tls連接后出現(xiàn)了auth命令。這里要注意的是,主流的各大郵箱已經(jīng)禁用在非安全設(shè)備上直接使用用戶名密碼的登錄方式,直接登錄會(huì)失敗。需要先在郵箱控制面板中生成應(yīng)用專用密碼,再進(jìn)行登錄。上述操作后,郵件發(fā)送成功,在163郵箱可以收到這封郵件了。

或者也可以使用下面這個(gè)命令通過(guò)465端口建立tls連接,效果是一樣的:


openssl s_client -connect smtp.abc.mail:465 -crlf -ign_eof



4

IMAP協(xié)議介紹


IMAP協(xié)議, Internet Mail Access Protocal (交互式郵件訪問(wèn)協(xié)議),是一個(gè)應(yīng)用層協(xié)議(端口是143)。IMAP協(xié)議比POP3協(xié)議復(fù)雜的多,也是按照C/S的工作方式,現(xiàn)在較新的版本是IMAP4。


與POP3協(xié)議類似,IMAP也是提供面向用戶的郵件收取服務(wù)。常用的版本是IMAP4。IMAP4改進(jìn)了POP3的不足,用戶可以通過(guò)瀏覽信件頭來(lái)決定是否收取、刪除和檢索郵件的特定部分,還可以在服務(wù)器上創(chuàng)建或更改文件夾或郵箱,它除了支持POP3協(xié)議的脫機(jī)操作模式 外,還支持聯(lián)機(jī)操作和斷連接操作。它為用戶提供了有選擇的從郵件服務(wù)器接收郵件的功能、基于服務(wù)器的信息處理功能和共享信箱功能。IMAP4的脫機(jī)模式不同于POP3,它不會(huì)自動(dòng)刪除在郵件服務(wù)器上已取出的郵件,其聯(lián)機(jī)模式和斷連接模式也是將郵件服務(wù)器作為“遠(yuǎn)程文件服務(wù)器”進(jìn)行訪問(wèn),更加靈活方便。目前只使用POP3協(xié)議的郵箱已經(jīng)很少了,主流是IMAP,故本文章以介紹IMAP協(xié)議為主。


imap同樣也是直接可以用命令行登錄的,下面我們來(lái)測(cè)試一下,因?yàn)槟壳爸髁鬣]件服務(wù)商都已經(jīng)禁用了非安全的143端口,我們直接通過(guò) tls 端口 993 來(lái)登錄,需要輸入的命令行后面添加了注釋:


openssl s_client -connect imap.abc.mail:993 -crlf -ign_eofa login foobar password //輸入用戶名密碼,每個(gè)命令前要輸入一個(gè) a 作為開(kāi)始* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE ENABLE MOVE CONDSTORE ESEARCH UTF8=ACCEPT LIST-EXTENDED LIST-STATUS LITERAL- SPECIAL-USE APPENDLIMIT=35651584a OK foorbar@abc.mail authenticated (Success)a list "" * //列出所有的郵箱* LIST (\HasNoChildren) "/" "Call log"* LIST (\HasNoChildren) "/" "INBOX"* LIST (\HasNoChildren) "/" "Notes"* LIST (\HasNoChildren) "/" "SMS"* LIST (\HasNoChildren) "/" "Sent"a OK Successa select inbox //選擇inbox收件箱* FLAGS (\Answered \Flagged \Draft \Deleted \Seen $Forwarded $NotPhishing $Phishing Old)* OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen $Forwarded $NotPhishing $Phishing Old \*)] Flags permitted.* OK [UIDVALIDITY 5] UIDs valid.* 6901 EXISTS* 0 RECENT* OK [UIDNEXT 6934] Predicted next UID.* OK [HIGHESTMODSEQ 463331]a OK [READ-WRITE] inbox selected. (Success)


上述命令使用用戶名+專用密碼登錄,列出郵箱列表,并選擇了inbox郵件箱。imap 命令比較多,詳細(xì)命令可參考附件列表里的資料。



5

關(guān)于端口號(hào)


由于電子郵件存在的歷史非常長(zhǎng),使用的端口號(hào)也經(jīng)歷了不少階段,導(dǎo)致看起來(lái)有些混亂。最早大家都是明文傳輸,smtp使用25,imap使用143,還比較清楚。后來(lái)隨著互聯(lián)網(wǎng)的發(fā)展,大家意識(shí)到不能在網(wǎng)上裸奔了,加密很重要,于是誕生了smtps(465),imaps(993),這兩個(gè)端口使用的是ssl協(xié)議。再后來(lái)ssl協(xié)議也被淘汰了,取而代之的是tls協(xié)議,配套開(kāi)發(fā)了starttls協(xié)議,可以復(fù)用原來(lái)的明文端口,即可以先連接smtp的25端口,根據(jù)服務(wù)端是否支持starttls,再判斷是否啟用加密連接,相對(duì)更加靈活。同時(shí),由于25端口被客戶端廣泛用于發(fā)送垃圾郵件,所以客戶端(MUA)的starttls端口被定義成了587端口。再后來(lái),大家又覺(jué)得其實(shí)端口不是重點(diǎn),tls加密才是最重要的,所以現(xiàn)在的465和993都是同時(shí)支持ssl/tls的(ssl基本已不再使用),不管使用starttls還是普通tls,加密級(jí)別和安全性都是一樣的。




6

SMTP服務(wù)器分類

· 發(fā)件服務(wù)器:這個(gè)就是我們通常意義上了解的smtp服務(wù)器,域名形式通常為 smtp.域名,如smtp.163.com,smtp.gmail.com等,普通用戶接觸最多的是這類服務(wù)器,郵件客戶端里面配的一般也是這個(gè)地址。作用是接收郵件客戶端發(fā)送過(guò)來(lái)的郵件,并轉(zhuǎn)發(fā)到其他的郵件服務(wù)器中。早期使用的是25端口,近年來(lái)隨著安全傳輸要求的不斷提升,一般25端口已被禁用,以使用465(SSL/TLS)及587(STARTTLS)端口為主。為防止垃圾郵件的發(fā)送,通常都會(huì)做發(fā)件人的身份驗(yàn)證,認(rèn)證通過(guò)后 smtp 服務(wù)器才會(huì)允許以該發(fā)件人身份向其他郵件服務(wù)器發(fā)送郵件。


· 收件服務(wù)器:一般叫 Mail Exchanger,MX服務(wù)器,地址可通過(guò)查詢 dns 的mx記錄獲取。一般只是在郵件服務(wù)商之間傳輸郵件時(shí)用到,普通用戶接觸不多。MX服務(wù)器通常只開(kāi)通25端口,上面既可以跑明文流量,也可以跑加密流量(通過(guò)starttls命令聲明進(jìn)行加密傳輸)。MX服務(wù)器一般會(huì)校驗(yàn),收件人地址是本地用戶,才會(huì)接收。同時(shí),由于是MTA之間的傳輸,MX一般也會(huì)對(duì)發(fā)送方的MTA進(jìn)行嚴(yán)格校驗(yàn)(還記得文章開(kāi)頭收郵件失敗嗎?),具體方式有SPF、DKIM、DMARC、rDNS等,后續(xù)在講郵件身份認(rèn)證時(shí)會(huì)講到。


一般來(lái)說(shuō),出于職責(zé)權(quán)限劃分及處理性能的考慮,大的郵件服務(wù)商都會(huì)把收件服務(wù)器和發(fā)件服務(wù)器分開(kāi)單獨(dú)部署。自建的小站,用戶也沒(méi)幾個(gè),合并部署問(wèn)題不大。



7

常見(jiàn)郵件協(xié)議和端口樣例


新浪免費(fèi)郵箱:

新浪COM免費(fèi)郵箱(@sina.com):

收信(pop3)服務(wù)器的地址為:pop.sina.com 端口:110,使用SSL的加密端口:995 (或pop3.sina.com)

發(fā)信(smtp)服務(wù)器的地址為:smtp.sina.com 端口:25, 使用SSL的加密端口:587或465

新浪CN免費(fèi)郵箱(@sina.cn):

收信(pop3)服務(wù)器的地址為:pop.sina.cn 端口:110,使用SSL的加密端口:995 (或pop3.sina.cn)

發(fā)信(smtp)服務(wù)器的地址為:smtp.sina.cn 端口:25, 使用SSL的加密端口:587或465

新浪收費(fèi)郵箱(SinaVIP):

POP3服務(wù)器:pop3.vip.sina.com (端口:110),使用SSL的加密端口:995

SMTP服務(wù)器:smtp.vip.sina.com (端口:25),使用SSL的加密端口:587或465

126免費(fèi)郵箱:

POP3服務(wù)器地址:pop.126.com(端口:110),使用SSL的加密端口:995

SMTP服務(wù)器地址:smtp.126.com(端口:25),使用SSL的加密端口:994或465

163免費(fèi)郵箱:

POP3服務(wù)器地址:pop.163.com(端口:110),使用SSL的加密端口:995

IMAP服務(wù)器地址:imap.163.com(端口:143),使用SSL的加密端口:993

SMTP服務(wù)器地址:smtp.163.com(端口:25),使用SSL的加密端口:994或465

網(wǎng)易免費(fèi)企業(yè)郵箱(免費(fèi)的域名郵箱):

SMTP服務(wù)器地址:smtp.ym.163.com 默認(rèn)端口為:25 (如勾選ssl安全鏈接,端口號(hào)為994或465)

POP3服務(wù)器地址:pop.ym.163.com 默認(rèn)端口為:110 (如勾選ssl安全鏈接,端口號(hào)為995)

IMAP服務(wù)器地址:imap.ym.163.com 默認(rèn)端口為:143 (如勾選ssl安全鏈接,端口號(hào)為993)

網(wǎng)易收費(fèi)企業(yè)郵箱: 

SMTP服務(wù)器地址:smtp.qiye.163.com 默認(rèn)端口為:25 (如勾選ssl安全鏈接,端口號(hào)為994或465)

POP3服務(wù)器地址:pop.ym.163.com 默認(rèn)端口為:110 (如勾選ssl安全鏈接,端口號(hào)為995)

IMAP服務(wù)器地址:imap.ym.163.com 默認(rèn)端口為:143 (如勾選ssl安全鏈接,端口號(hào)為993)

中國(guó)移動(dòng)139免費(fèi)郵箱:

POP3服務(wù)器地址:POP.139.com(端口:110),使用SSL的加密端口:995

SMTP服務(wù)器地址:SMTP.139.com(端口:25),使用SSL的加密端口:587或465

QQ免費(fèi)郵箱:

POP3服務(wù)器地址:pop.qq.com(端口:110),使用SSL的加密端口:995

SMTP服務(wù)器地址:smtp.qq.com(端口:25),使用SSL的加密端口:465

QQ企業(yè)收費(fèi)郵箱:

POP3服務(wù)器地址:pop.exmail.qq.com (SSL強(qiáng)制被啟用 端口:995)

SMTP服務(wù)器地址:smtp.exmail.qq.com(SSL強(qiáng)制被啟用 端口:465)

海外QQ企業(yè)郵箱用戶

接收郵件服務(wù)器:hwpop.exmail.qq.com ,使用SSL,端口號(hào)995

發(fā)送郵件服務(wù)器:hwsmtp.exmail.qq.com ,使用SSL,端口號(hào)465

微軟office365郵箱:

POP3服務(wù)器地址:outlook.office365.com (SSL強(qiáng)制被啟用 端口:995) SMTP服務(wù)器地址:smtp.office365.com(SSL強(qiáng)制被啟用 端口:587)

TOM郵箱:

POP3服務(wù)器地址:pop.tom.com(端口:110),使用SSL的加密端口:995 SMTP服務(wù)器地址:smtp.tom.com(端口:25),使用SSL的加密端口:587或465

搜狐郵箱:

POP3服務(wù)器地址:pop3.sohu.com(端口:110),使用SSL的加密端口:995

SMTP服務(wù)器地址:smtp.sohu.com(端口:25),使用SSL的加密端口:587或465


8

參考資料

1、SMTP協(xié)議介紹

https://blog.csdn.net/qq_35644234/article/details/68961603

2、測(cè)試imap服務(wù)器命令詳解

https://blog.csdn.net/sinat_37213335/article/details/88291078

3、細(xì)說(shuō)電子郵件的端口號(hào)

https://taoshu.in/email-ports.html

4、https://www.jianshu.com/p/1797d82c1afe


該文章在 2024/4/9 23:47:48 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved