smtp服務(wù)器是什么 smtp默認(rèn)端口號多少?
SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來控制信件的中轉(zhuǎn)方式。SMTP服務(wù)器則是遵循SMTP協(xié)議的發(fā)送郵件服務(wù)器,用來發(fā)送或中轉(zhuǎn)發(fā)出的電子郵件。
相較于POP3而言,SMTP確實比較簡單。這里的簡單并不是指SMTP的命令比POP3少,而是指SMTP的命令是有序的,而POP3的命令是無序的,理解這一點很重要。也就是說SMTP的命令是要組合在一起才能完成一次郵件發(fā)送任務(wù),單獨調(diào)用每個命令的意義不大。POP3命令則不同,LIST、STAT、UIDL、TOP、RETR、DELE等命令都可以獨立使用,比如用LIST命令查看郵件清單,然后用RETR命令接收郵件。
簡單的另一層含義是:就socket編程而言實現(xiàn)發(fā)送數(shù)據(jù)要比實現(xiàn)接收數(shù)據(jù)簡單點。
比如接收數(shù)據(jù)時要判斷數(shù)據(jù)是否接收完畢。如果一條數(shù)據(jù)以回車換行結(jié)束,就需要判斷是否接收到了"\r\n",從而確保讀取到一條完整的消息體。而發(fā)送數(shù)據(jù)則不需要考慮上述問題,你可以按照自己的節(jié)奏發(fā)送數(shù)據(jù),可以一次將整個消息體發(fā)送出去,也可以不用考慮服務(wù)器的死活一個字節(jié)一個字節(jié)發(fā)送數(shù)據(jù),直至將整條消息發(fā)送完畢。
換句話說,接收數(shù)據(jù)要以流的方式進(jìn)行,而不是簡單的開辟一個緩沖區(qū),進(jìn)行一次recv操作。雖然大部分情況下這種方式也沒有問題,比如寫個Demo程序,但如果要讓你的網(wǎng)絡(luò)程序非常健壯的話,最好以流的方式進(jìn)行讀取。因為并不是每次對方都會按照你期望的方式發(fā)送數(shù)據(jù)給你,比如,你開辟了1024字節(jié)緩沖區(qū)用于接收網(wǎng)絡(luò)數(shù)據(jù),但對方可能一次只給你發(fā)送一個字節(jié),或者發(fā)出了1025個字節(jié)。
SMTP和HTTP協(xié)議一樣都屬于請求應(yīng)答式協(xié)議,也就是一問一答,客戶端發(fā)送命令后,服務(wù)器返回響應(yīng)內(nèi)容。SMTP的響應(yīng)格式和HTTP協(xié)議的基本一樣,都是響應(yīng)碼+響應(yīng)描述。響應(yīng)碼用三位數(shù)字表示,空格后則是響應(yīng)信息的描述,只是HTTP協(xié)議會多一個版本信息。
這種一問一答式協(xié)議,在HTTP協(xié)議上體現(xiàn)的并不是很明顯,只有HTTP連接設(shè)置為Keep-Alive時,你才有機(jī)會使用GET或POST命令反復(fù)與服務(wù)器進(jìn)行交互,否則只有一次問答的機(jī)會。
smtp默認(rèn)端口號多少?
SMTP默認(rèn)使用的端口號是25。解析:SMTP即簡單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件規(guī)則,由它來控制信件的中轉(zhuǎn)方式。
關(guān)鍵詞: smtp服務(wù)器是什么 SMTP是什么協(xié)議 smtp默認(rèn)端口號多少 smtp服務(wù)的端口號為