SMTP协议--在cmd下利用命令行发送邮件

时间:2023-02-04 01:47:44

先简单介绍下smtp

smtp使用命令和应答在客户与服务器之间传输报文。即客户发出一个命令,服务器返回一个应答。发送方与接收方进行一问一答的交互,由发送方控制这个对话。

SMTP协议--在cmd下利用命令行发送邮件

在XP系统下点‘开始’-‘运行’,输入cmd,进入命令提示符窗口。

SMTP协议--在cmd下利用命令行发送邮件
第一步,远程登录smtp服务器

    
在命令行窗口输入 telnet
smtp.163.com 25  
然后回车

   
(此处以163邮箱为例,QQ邮箱可输入smtp.qq.com
。25表示建立连接的端口号)

SMTP协议--在cmd下利用命令行发送邮件
    
此时出现如上信息,这是一个欢迎信息,各个邮箱有所不同

第二步,用户登录

    
输入 helo 163.com 
回车,这是向服务器表明你的用户身份

(注意:此时的字母是不能输错的,因为你的每一次按键实际上已经被传送到服务器,所以输入错误时不能使用退格键删除,只能换行重新输入)

SMTP协议--在cmd下利用命令行发送邮件
       
250 OK 
为服务器返回的确认信息,说明服务器认可了你的身份

   
输入 auth login 
回车,这是告诉服务器你要输入用户名了(即登录邮箱时的用户名),服务器将返回一个确认信息334 SMTP协议--在cmd下利用命令行发送邮件    
这时就可以输入用户名了,注意这里的用户名需要编码后才能识别,即如果你的用户名是 fatbear@qq.com
那么你需要将fatbear进行 base64
编码,将编码结果输入命令提示符窗口。base64编码器可以在网上下到,是一个简单的小工具。

    
用户名输入成功后服务器返回一个334的确认信息。

    
用户名输入成功后,接着输入密码,密码同样是需经过 base64
编码后再输入。输入成功后服务器返回一个含‘successful’的信息,说明成功登录。

第三步,写信

    
输入 mail from:< >
回车  
<>中填写发件人的邮箱,即你自己的邮箱名

    
输入 rcpt to:<
>   回车  
<>中填入收件人的邮箱

    
输入 data 回车 ,回车后就可以开始写邮件内容了

下面是data下的可选项:

     输入
from:发件人名称 
,此项可任意填入,将显示在收件箱的‘发件人’一栏

    
输入 to:收件人名称 
,可任意填入,将显示在收件箱的‘收件人’一栏

    
输入 subject:信件主题  
,显示在收件箱的‘主题’一栏中

    
此时需空一行,即在一空行直接回车,表示正文部分的开始

    
空行后输入信件的正文内容。

    
在正文输入结束时输入一个 .
(英文输入法下的句号)回车,表示正文部分的结束。这时将显示邮件成功发送的信息。

关于正文输入汉字的问题,

    
在该窗口下视无法输入汉字的,可以在写字板中打好汉字后复制粘贴进去,且粘贴时只能使用鼠标右键而不能用快捷键,至少我的不行。