Posted on 2008-06-12 10:28
生活在別處 閱讀(517)
評論(0) 編輯 收藏 所屬分類:
Unix
原帖地址在此:http://www.geektalks.cn/article.php?story=20080602125246318
用telnet發電子郵件的目的很多,我們暫且假設一番:如果你不幸落入恐怖份子之手,他們只有一臺瘦得不行的電腦,總之除了telnet程序啥都沒有,在恐怖份子去吃羊肉泡饃而疏于照看你的大好時機,你如何發電子郵件通知外界呢?
當然,首先你要有一個支持中繼轉發的SMTP的帳號,幸運的是,現在即使免費的郵箱也會提供這個。
假設你有一個geekx@126.com的郵箱,密碼是xgeek,則會話如下:(紅色的話是你要說的)
$ telnet smtp.126.com 25 # 25 為標準SMTP端口
Trying 220.181.15.111...
Connected to smtp.126.com (220.181.15.111).
Escape character is '^]'.
220 126.com Anti-spam GT for Coremail System (126com[071018])
helo 126.com # 打個招呼先
250 OK
auth login # SMTP需要認證
334 dXNlcm5hbWU6 # 這是個base64編碼的明文,翻譯過來是“username:"
Z2Vla3g= # base64編碼的明文,翻譯過來是“geekx"
334 UGFzc3dvcmQ6 # 這是個base64編碼的明文,翻譯過來是“password:"
eGdlZWs= # base64編碼的明文,翻譯過來是“xgeek"
235 Authentication successful
mail from:<geekx@126.com>
250 Mail OK
rcpt to:<superman@savetheworld.com> # 發給XXX
250 Mail OK
data #開始寫信
354 End data with <CR><LF>.<CR><LF>
subject:Help!!
#這里空一行再寫正文
The world is under attack,
Terrorists are eating yang—rou—pao—mo...
#寫完信后空一行
. #寫一個句點表示信的結束
250 Mail OK queued as smtp1,C8mowLC7fAy8GydISdAtCw==.834S2 1210522683
quit
221 Bye #SMTP小姐跟你說再見
Connection closed by foreign host.
那么,如何知道你的用戶名和密碼的base64編碼呢?當然是預先要記在腦子里,如果實在記不下的話,用uuencode翻譯一下吧:
$ echo -n 'geekx' | uuencode -m xxx # -m 指定 base64編碼
begin-base64 664 xxx
Z2Vla3g=
====
好了,在恐怖份子吃完午飯回來之前,你已經成功地把信發給超人啦。