Posted on 2008-06-12 10:28
生活在别处 阅读(509)
评论(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=
====
好了,在恐怖份子吃完午饭回来之前,你已经成功地把信发给超人啦。