【Mail】telnet收发邮件过程
文章原址:http://www.cnblogs.com/h--d/p/6125993.html
作者寫的真棒,按照步驟一步一步都可執(zhí)行,我是在centos7服務器下進行的實驗,命令完全和下面一樣,注意的地方是:
1,centos7要安裝telnet,命令是sudo yum install telnet;
2,因為telnet終端連接的時間很短,所以要預先把命令寫好,然后直接粘貼;
3,telnet是什么東西?
Telnet is a protocol used on the Internet or local area networks to provide a bidirectional(?雙向的) interactive text-oriented(面向文本) communication facility using a virtual terminal connection. User data is interspersed in-band(n. [通信] 帶內(nèi);同頻帶信號傳輸;合規(guī)頻率) with Telnet control information in an 8-bit byte oriented data connection over the Transmission Control Protocol (TCP).(from wiki)
Telnet協(xié)議是TCP/IP協(xié)議族中的一員,是Internet遠程登陸服務的標準協(xié)議和主要方式。它為用戶提供了在本地計算機上完成遠程主機工作的能力。在終端使用者的電腦上使用telnet程序,用它連接到服務器。終端使用者可以在telnet程序中輸入命令,這些命令會在服務器上運行,就像直接在服務器的控制臺上輸入一樣。可以在本地就能控制服務器。要開始一個telnet會話,必須輸入用戶名和密碼來登錄服務器。Telnet是常用的遠程控制Web服務器的方法。(百度百科)
telnet發(fā)送郵件
關于電子郵件的基礎知識請參照:【Mail】郵件的基礎知識和原理
smtp協(xié)議是一個簡單的郵件傳輸協(xié)議,利用它我們可以將郵件發(fā)送給別人,這里將通過telnet這個程序利用smtp協(xié)議從網(wǎng)易向gmail發(fā)送一封郵件
基本步驟如下:
1、使用telnet連接smtp服務器
2、發(fā)送一個helo或者ehlo指令
3、驗證用戶(使用郵件名登陸,用戶名和密碼要采用base64編碼)
4、使用mail命令準備發(fā)送郵件
5、使用rcpt命令指定對方郵箱地址
6、使用data命令開始輸入內(nèi)容
7、輸入test或者hello world類似字樣(即郵件內(nèi)容)
8、輸入郵件內(nèi)容結(jié)束標志.
9、退出smtp服務器
- 在win環(huán)境下,開始--->運行--->cmd ,打開命令運行窗口
- 在命令窗口內(nèi),輸入一下指令命令,注意用戶名和密碼要采用base64編碼,可以在http://www.bejson.com/enc/base64/網(wǎng)站上進行轉(zhuǎn)碼。
發(fā)送成功過之后,登錄網(wǎng)頁郵箱查看
- SMTP協(xié)議的返回碼
?
telnet接收郵件?
POP3 協(xié)議類似于 SMTP 協(xié)議,它定義了一些命令用于管理郵箱等具體操作,為了能夠在 Windows 下使用 telnet 程序來接收郵件
POP3相關命令(<space> 為空格,<CRLF> 為回車加換行):
1 1、user<space>郵箱的用戶名<CRLF>?: 2 該命令用于與?POP3?服務器建立聯(lián)系; ? 3 ? 4 2、pass<space>郵箱密碼<CRLF>?: 5 該命令用于?user?命令成功建立連接之后向 POP3?服務器發(fā)送郵箱的密碼; ? 6 ? 7 3、stat<CRLF>?:? 8 該命令用于查看郵箱中的郵件數(shù)量以及所占用的字節(jié)大小; ? 9 ? 10 4、uidl<space>msg#<CRLF>?: 11 該命令用于查詢郵箱中編號為?msg#?的郵件的唯一標識符,注:郵箱中的編號是從?1?開始的; ? 12 ? 13 5、list<space>[msg#]<CRLF>?: 14 該命令用于將郵箱中的郵件信息進行列表,當指定參數(shù)?msg#?時,返回該編號的郵件的信息,不指定則返回所有郵件的信息; ? 15 ? 16 6、retr<space>msg#<CRLF>?: 17 該命令用于獲取編號為msg#的郵件的內(nèi)容; ? 18 ? 19 7、dele<space>msg#<CRLF>?: 20 該命令用于將編號為?msg#?的郵件設置上刪除的標記,注:執(zhí)行該命令之后郵件并不立即被刪除,而是等到執(zhí)行?quit?命令才會被刪除; ? 21 ? 22 8、rset<space>msg#<CRLF>?: 23 該命令用于將執(zhí)行了?dele?命令的編號為?msg#?的郵件的刪除標記清楚掉; ? 24 ? 25 9、quit<space>msg#<CRLF>?: 26 該命令用于結(jié)束與?POP3?服務器的鏈接,即結(jié)束郵件的接收過程,執(zhí)行完該命令之后,郵箱中被設置了刪除標記的郵件會被真正刪除掉。- 打開win系統(tǒng)的命令窗口同上,連接163郵箱的pop3服務器,端口是110
- 輸入用戶名和密碼,使用user命令和pass命令
????? - ???? 查看郵箱中的郵件數(shù)量以及所占用的字節(jié)大小
?????? - ???? 查詢郵箱
????? - ???? 查詢郵件信息列表
????? - ????? 獲取編號為msg#的郵件的內(nèi)容
??????
- ???? 將編號為?msg#?的郵件設置上刪除的標記,注:執(zhí)行該命令之后郵件并不立即被刪除,而是等到執(zhí)行?quit?命令才會被刪除
?????? - ???? 編號為?msg#?的郵件的刪除標記清楚掉
?????? - ????? 退出pop3服務器
??????
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎
總結(jié)
以上是生活随笔為你收集整理的【Mail】telnet收发邮件过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java读取excel图表模板,修改选值
- 下一篇: 正则表达式里转义字符_五分钟搞定正则表达