使用telnet发送简单“中文”email
使用telnet发送“英文”email很简单,但能否发送“中文”email呢?其实结合base64编码工具实现起来是一样简单的。
步骤如下:
1、准备邮件主题
比如,我想发一封邮件主题为“小蜗牛技术之家”,使用base64编码工具编码如下:
# echo -n "小蜗牛技术之家" | base64
5bCP6JyX54mb5oqA5pyv5LmL5a62
中文编码格式有gb2312和utf8等,一般的邮件客户端比如Foxmail、Outlook等都能根据邮件信头charset字段自动识别邮件主题以及内容的中文编码格式。我们需要在邮件信头中告诉客户端软件我们这封邮件的中文采用的是什么编码,好让它正确显示中文而不至于出现乱码。
我需要的所有邮件头如下:
Subject: =?UTF-8?B?5bCP6JyX54mb5oqA5pyv5LmL5a62?=
Content-Type: text/plain;
charset="UTF-8"
Content-Transfer-Encoding: base64
我自己的RHEL5系统上的中文编码是utf8(LANG="zh_CN.UTF-8"),因此上述所处理的中文都是utf8编码的,于是我在信头里设置了charset="UTF-8"。
2、准备邮件内容
我将想要发的内容保存为文档content.txt
# cat content.txt
在不断奉献中谋求生存发展、打造自己的优秀人品,用人性最本质最动人的一面“营销”自己!
对邮件内容进行base64编码:
# base64 content.txt
5Zyo5LiN5pat5aWJ54yu5Lit6LCL5rGC55Sf5a2Y5Y+R5bGV44CB5omT6YCg6Ieq5bex55qE5LyY
56eA5Lq65ZOB77yM55So5Lq65oCn5pyA5pys6LSo5pyA5Yqo5Lq655qE5LiA6Z2i4oCc6JCl6ZSA
4oCd6Ieq5bexIQo=
3、telnet发信测试
我需要准备的全部内容如下,包括邮件头和邮件内容:
Subject: =?UTF-8?B?5bCP6JyX54mb5oqA5pyv5LmL5a62?=
Content-Type: text/plain;
charset="UTF-8"
Content-Transfer-Encoding: base64
5Zyo5LiN5pat5aWJ54yu5Lit6LCL5rGC55Sf5a2Y5Y+R5bGV44CB5omT6YCg6Ieq5bex55qE5LyY
56eA5Lq65ZOB77yM55So5Lq65oCn5pyA5pys6LSo5pyA5Yqo5Lq655qE5LiA6Z2i4oCc6JCl6ZSA
4oCd6Ieq5bexIQo=
在telnet和MTA进行会话的时候,在data命令之后复制并粘贴上述内容至“屏幕”即可,最后手工输入一行"."来结束邮件数据输入。
...
mail from:<snail@hoho.com>
250 2.1.0 <snail@hoho.com>... Sender ok
rcpt to:<zhaozh@hoho.com>
250 2.1.5 <zhaozh@hoho.com>... Recipient ok
data
354 Enter mail, end with "." on a line by itself
Subject: =?UTF-8?B?5bCP6JyX54mb5oqA5pyv5LmL5a62?=
Content-Type: text/plain;
charset="UTF-8"
Content-Transfer-Encoding: base64
5Zyo5LiN5pat5aWJ54yu5Lit6LCL5rGC55Sf5a2Y5Y+R5bGV44CB5omT6YCg6Ieq5bex55qE5LyY
56eA5Lq65ZOB77yM55So5Lq65oCn5pyA5pys6LSo5pyA5Yqo5Lq655qE5LiA6Z2i4oCc6JCl6ZSA
4oCd6Ieq5bexIQo=
.
250 2.0.0 n2PF2iHf005399 Message accepted for delivery
quit
221 2.0.0 pps.hoho.com closing connection
Connection closed by foreign host.
用客户端收取这封测试信,charset设置对了就不会出现乱码滴~
GOOD LUCK!
页:
[1]
