原帖地址在此:http://www.geektalks.cn/article.php?story=20080602125246318
用telnet發(fā)電子郵件的目的很多,我們暫且假設(shè)一番:如果你不幸落入恐怖份子之手,他們只有一臺(tái)瘦得不行的電腦,總之除了telnet程序啥都沒有,在恐怖份子去吃羊肉泡饃而疏于照看你的大好時(shí)機(jī),你如何發(fā)電子郵件通知外界呢?
當(dāng)然,首先你要有一個(gè)支持中繼轉(zhuǎn)發(fā)的SMTP的帳號(hào),幸運(yùn)的是,現(xiàn)在即使免費(fèi)的郵箱也會(huì)提供這個(gè)。
假設(shè)你有一個(gè)geekx@126.com的郵箱,密碼是xgeek,則會(huì)話如下:(紅色的話是你要說的)
$ telnet smtp.126.com 25 # 25 為標(biāo)準(zhǔn)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 # 打個(gè)招呼先
250 OK
auth login # SMTP需要認(rèn)證
334 dXNlcm5hbWU6 # 這是個(gè)base64編碼的明文,翻譯過來是“username:"
Z2Vla3g= # base64編碼的明文,翻譯過來是“geekx"
334 UGFzc3dvcmQ6 # 這是個(gè)base64編碼的明文,翻譯過來是“password:"
eGdlZWs= # base64編碼的明文,翻譯過來是“xgeek"
235 Authentication successful
mail from:<geekx@126.com>
250 Mail OK
rcpt to:<superman@savetheworld.com> # 發(fā)給XXX
250 Mail OK
data?。i_始寫信
354 End data with <CR><LF>.<CR><LF>
subject:Help!!
#這里空一行再寫正文
The world is under attack,
Terrorists are eating yang—rou—pao—mo...
#寫完信后空一行
. #寫一個(gè)句點(diǎn)表示信的結(jié)束
250 Mail OK queued as smtp1,C8mowLC7fAy8GydISdAtCw==.834S2 1210522683
quit
221 Bye #SMTP小姐跟你說再見
Connection closed by foreign host.
那么,如何知道你的用戶名和密碼的base64編碼呢?當(dāng)然是預(yù)先要記在腦子里,如果實(shí)在記不下的話,用uuencode翻譯一下吧:
$ echo -n 'geekx' | uuencode -m xxx # -m 指定 base64編碼
begin-base64 664 xxx
Z2Vla3g=
====
好了,在恐怖份子吃完午飯回來之前,你已經(jīng)成功地把信發(fā)給超人啦。