使用telnet发送邮件的若干问题。。。

来源:互联网 发布:网络作家富豪榜 2016 编辑:程序博客网 时间:2024/05/01 16:39

最近因为学习的课程需要,老师让我们使用telnet发送邮件,经过一早上(忽略我捉急的智商大哭)的尝试,终于基本上完成了。

以下是我在过程中的遇到的一些问题和解决方法。

首先,使用telnet发送邮件,你必须确认你电脑上的telnet功能打开,这个要在电脑的控制面板中的程序-->启动或者关闭Windows功能中解决。请自行百度。。。

如果出现cmd无法正常使用一些命令,比如shutdown的关机功能之类的不能正常使用,可能是环境变量没有设定好,所以要先设定好。也请自行百度。。。

正题:

在cmd中输入telnet smtp.163.com 25

25是端口号,打开的是163的邮箱服务,可以改成自己需要的

在打开的窗口中输入

helo xxx(随意呀,只是和服务器打招呼,返回250 OK之类的就好,我已不知道为什么要定义250。。。)

或者ehlo xxx都行,只是返回不同

输入auth login,有正常返回334 dXNlcm5hbWU6,

然后输入自己经过base64加密之后的邮箱账号,正常返回334 UGFzc3dvcmQ6,再输入经过base64加密过的密码,回车验证登录。

接着输入mail from:<自己的账号@163.com>,账号不用在进行加密

输入rcpt to:<收件人的账号@xxx.xxx>

输入data  //就可以进行邮件发送了

from:账号@xx.xx

to:账号@xx.xx

subject:xxx

以上三个自行选填,不用也没问题。如果有的话,需要在正文之前加一个空行,然后再输入正文内容。

正文内容完毕之后,要用单独的一行“.”进行结束,如

.

然后邮件就发送出去了。

发送中文邮件

如果要发送中文邮件,在from,to,subject的“:”后面加上=?UTF-8?B?然后直接加上经过base64加密过的中文?=,如:Subject: =?UTF-8?B?6K++56iL5rWL6K+V6YKu5Lu2?=;也可以吧utf-8换成自己需要的格式,如gb2312。

正文如果是中文的话就在subject一行的后面加入:

Content-Type: text/plain;
        charset="UTF-8"   //可以换成自己需要的格式
Content-Transfer-Encoding: base64

然后空两行,在写入经过加密后的正文编码即可。结束时如上。


特注:如果在输入命令时报错,那说明你中途对命令进行过更改,虽然你最后看到的命令是正确的,但是在内部是有着修改的痕迹的(你可以对着subject来进行一次尝试),所以命令什么的最好一次完成,避免修改!


还是小白一个,如果发现有什么不对的,希望大家能帮忙指出来一下,谢谢!

0 0
原创粉丝点击