天天看點

Java Mail(一):telnet實作發送收取郵件telnet發送郵件telnet收取郵件

       最近要做一個解析郵件的東東,就順便系統的搞一下Java Mail的API吧,以前搞過,現在都忘到十萬八千裡了,要說技術就得學以緻用,要不全扔了。

       說起郵箱,工作中挺常用的工具,上學的時候都沒怎麼用。國内的郵箱系統相當多了,163、sina、sohu、qq,這些是耳熟能詳針對普通使用者的郵箱,還有很多針對企業使用者的。郵箱有兩種協定,一種是發送郵件的協定smtp,另一種是收取郵件的協定pop3、imap,每個郵箱系統都是按照這兩種協定來實作的。

       我們平常可能會使用郵箱用戶端,C/S的諸如outlook、foxmail,B/S的各大郵箱系統都會提供,如mail.xxxx.com,通過Java也可以實作,現在先通過telnet指令來實作發送一封簡單的郵件。

       1. 啟動小黑框;

       2. 輸入telnet指令,如果提示該指令不存在神馬的,按如下操作:開始-->控制台-->程式-->開啟和關閉windows功能-->telnet用戶端,如果顯示“歡迎使用 Microsoft Telnet Client”,進入下一步;

       3. 輸入telnet smtp.qq.com 25,這是連接配接到qq的smtp伺服器,smtp預設端口是25,也可以連接配接其它郵箱的,連接配接成功後,會顯示220 smtp.qq.com Esmtp QQ Mail Server神馬的,220表示連接配接成功;

       4. 輸入ehlo ghsaumiao,是和伺服器打個招呼,不知道當初研究郵箱協定的大神為什麼不直接用hello,而是颠倒過來呢,ehlo後面加的是自己郵箱賬戶;

       5. 輸入auth login,登入驗證;

       6. 輸入郵箱使用者名,自己的自己知道哈,不需要帶@和後面的東西,另外需要base64加密,咋加密呢,有現成的應用啊,百度一下base64;

       7. 輸入郵箱密碼,也是base64加密,如果登陸成功會提示235 Authentication successful;

       8. 輸入mail from: <[email protected]>;

       9. 輸入rcpt to: <[email protected]>,發送到指定郵箱,注意格式一定要正确哦;

       10. 輸入data,表示下面開始輸入郵件正文;

       11. 輸入from: <[email protected]>,注意這個是收到郵件後,顯示出來的郵件來自哪裡,可以與真實郵箱不同哦;

       12. 輸入subject: hello,郵件标題;

       13. 空一行,輸入郵件内容,随便輸入點啥,再換一行,輸入“.”結束内容,輸入quit退出。

       14. 最後進入接收郵件的收件箱,就能看到郵件了。

       通過telnet指令來檢視剛才發送的郵件。

       2. 輸入telnet pop3.163.com 110,連接配接到163的pop3伺服器,pop3預設端口是110,連接配接成功後,會顯示welcome等字樣;

       3. 輸入user java_mail_002,輸入使用者名;

       4. 輸入pass javamail,輸入密碼,這裡不需要加密了;

       5. 輸入stat,檢視一下目前收件箱狀态,我這裡顯示1 1500,表示1封郵件,占用1500位元組;

       6. 輸入list,檢視收件箱清單;

       7. 輸入list 序号,檢視某一封郵件資訊;

       8. 輸入retr 序号,檢視某一封郵件頭及内容資訊;

       9. 輸入quit退出。

本文參與騰訊雲自媒體分享計劃,歡迎正在閱讀的你也加入,一起分享。