在命令行(dos)下收发邮件的方法_常用工具

今天,看到网上介绍说用命令行下来收发邮件,因此具体写一下过程.
收邮件:
打开“开始”菜单中的“运行”对话框,输入命令telnet 及远程服务器端口号,如: 
telnet pop3.163.com 110 就会与“网易163免费邮”的pop3服务器pop3.163.com建立连接。  
如果上述连接成功,POP3服务器就会回应如下信息(显示在终端上): 
+OK Welcome to coremail Mail Pop3 Server(163com[20050206])
user greenerycn如果该用户名登录成功,POP3服务器会响应如下信息: 
+OK core mail 
输入密码pass password如果成功,终端会显示如下信息: 
+OK 5 message (2267 octets) 
其中数字5表示有5封邮件,2267表示这5封邮件总的字节数(即2267B),
     然后有以下命令可以使用,其命令格式及参数说明如下: 
1.stat命令 格式:stat 无需参数 
2.list命令 格式:list [n] 参数n可选,n为邮件编号 
3.uidl命令 格式:uidl [n] 同上 
4.retr命令 格式:retr n 参数n不可省,n为邮件编号 
5.dele命令 格式:dele n 同上 
6.top 命令 格式:top n m 参数n,m不可省,n为邮件编号,m为行数 
7.noop命令 格式:noop 无需参数 
8.quit命令 格式:quit 无需参数 
各命令的详细功能见下面的说明: 
1、stat命令不带参数,对于此命令,POP3服务器会响应一个正确应答,此响应为一个单行的信息提示,它以“+OK”开头,接着是两个数字,第一个是邮件数目,第二个是邮件的大小,如:+OK 4 1603 
2、list命令的参数可选,该参数是一个数字,表示的是邮件在邮箱中的编号,我们可以利用不带参数的list命令,获得各邮件的编号,并且每一封邮件均占用一行显示,前面的数为邮件的编号,后面的数为邮件的大小。 
3、uidl命令与list命令用途差不多,只不过uidl命令显示邮件的信息比list更详细,更具体,执行结果如图四。 
4、retr命令是收邮件中最重要的一条命令,它的作用是查看邮件的内容,它必须带参数进行,该命令执行之后,服务器应答的信息比较长,其中包括发件人的电子邮箱地址,发件时间,邮件主题等,这些信息统称为邮件头,紧接在邮件头之后的信息便是邮件正文 
5、dele命令是用来删除指定的邮件(注意:dele n命令只是给邮件做上删除标记,只有在执行quit命令之后,邮件才会真正删除),删除的应答信息如图六所示. 
6、top命令有两个参数,形如: top n m n为邮件编号,m是要读出邮件正文的行数,如果m=0,则只读出邮件的邮件头部分 
7、noop命令,该命令发出后,POP3服务器不作任何事,仅返回一个正确响应"+OK" 
8、quit命令,该命令发出后,telnet断开与POP3服务器的连接,系统进入更新状态。. 
不过用这种方式查看google的邮件是编码,看不成中文.
dos 发信
1.计算用户名和密码的base64编码:http://lishiditu.008.net/base64.html
[ telnet smtp.163.com 25    //登陆 smtp.163.com 端口号为 25
220 163.com Anti-spam GT for Coremail System (163com[20050206])
HELO localhost  // 与服务器打招呼,并告知客户端使用的机器名字,可以随便填写
250 OK  
AUTH LOGIN     //使用身份认证登陆指令
334 dXNlcm5hbWU6  
YWJj //输入已经base64_encode()过的用户名.
334 UGFzc3dvcm
MTIzNDU2//输入已经base64_encode()过的密码
235 Authentication successful
MAIL FROM:<greenerycn@163.com>  //告诉服务器发信人的地址
250 Mail OK
RCPT TO:<yourframe@21cn.com> //告诉服务器收信人的地址
250 Mail OK
DATA   //正面开始传输信件的内容,且最后要以只含有 . 的特殊行结束。
354 End data with <CR><LF>.<CR><LF>
To:yourframe@21cn.com  
From:redsos3@163.com
Subject:test mail
Test,# 邮件正文内容,与Header部分空一行开始写
test body
.   # 邮件写完,以一个句点加回车结果。
250 Mail OK queued as smtp14,F0CPBFsuzUOvoDwE.41582S2
QUIT  //断开连接
221 Bye
Connection closed by foreign host.
状态码说明:
220 : 服务就绪
250 :请求邮件动作正确,完成(HELO,MAIL FROM,RCPT TO,QUIT 指令执行成功会返回此信息)
235 :认证通过
221 :正在处理
354 :开始发送数据,结束以 .(DATA指令执行成功会返回此信息)
500 :语法错误,命令不能识别
550 :命令不能执行,邮箱无效
552 :中断处理:用户超出文件空间

时间: 2024-08-24 07:54:42

在命令行(dos)下收发邮件的方法_常用工具的相关文章

Arp命令使用方法_常用工具

显示和修改"地址解析协议 (ARP)"缓存中的项目.ARP 缓存中包含一个或多个表,它们用于存储 IP 地址及其经过解析的以太网或令牌环物理地址.计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表.如果在没有参数的情况下使用,则 arp 命令将显示帮助信息. 语法 arp[-a [InetAddr] [-N IfaceAddr]] [-g [InetAddr] [-N IfaceAddr]] [-d InetAddr [IfaceAddr]] [-s InetAddr Eth

gtk-gnome-tweak-tool修改的字体大小怎样在命令行环境下也有效?

问题描述 gnome-tweak-tool修改的字体大小怎样在命令行环境下也有效? 桌面环境下运行gtk程序,字体大小是Gnome Tweak Tool修改的系统的字体大小,但在命令行环境中怎样使程序的字体大小和桌面环境下一致

21V azure如何透过命令行Powershell下连接?

问题描述 21V azure如何透过命令行Powershell下连接? 我安装了azure powershell.连接国际版的add-azureaccout都OK 但连接21V中国版的azure时,输入是正确的账户地址,他提示不能连接?? 提示找不到具有该电子邮件的账户. 解决方案 检查下脚本,山寨azure有自己的账户系统,和azure不通用,相关的域名要修改,地缘组也要修改. 解决方案二: 您好,需要在Powershell后面附加上一个参数:[使用 Windows Azure PowerSh

命令行模式下备份、还原 MySQL 数据库的语句小结_Mysql

为了安全起见,需要经常对数据库作备份,或者还原.对于 MySQL 而言,最方便的方法可能就是用 phpMyAdmin 的导出.导入功能了,但如果你的数据库体积比较大,作为 Web 应用的 phpMyAdmin 可能会遭遇"超时"而操作失败.所以,学会在命令行模式下备份.还原数据库,还是很有必要的. 1.备份数据库 在 Linux 命令行模式下备份 MySQL 数据库,用的是 mysqldump 命令: 复制代码 代码如下: mysqldump -u mysqluser -p test_

cmd 命令行模式下输出中文时显示乱码的解决方案

cmd 命令行模式下输出中文时显示乱码的解决方案 因为发现默认值->属性窗口中已是936了,只好通过注册表直接改动:HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe下的项CodePage项值改为十进制"936"值或 十六进制"000003a8"值.说明一下: 十六进制"000003a8"或十进制"936",表示"936 (ANSI/OEM - 简体中

java中javamail收发邮件实现方法_java

概述 1.邮件相关的标准 厂商所提供的 JavaMail 服务程序可以有选择地实现某些邮件协议,常见的邮件协议包括: SMTP(Simple Mail Transfer Protocol) :即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. POP3(Post Office Protocol – Version 3) :即邮局协议版本 3 ,用于接收电子邮件的标准协议. IMAP(Internet Mail Access Protocol) :即 In

thinkphp实现163、QQ邮箱收发邮件的方法_php技巧

用了很长时间去一步一步摸索,终于先在163 网易邮箱上测试成功了,下面就把这个过程分享给大家. 在进入正题这前先看下网易(163)邮箱的服务器地址和端口号: 一.前期准备 使用网易邮箱,当然要注册个账号,这个就不用我多说了,自己去注册... 注册完之后,就要去开启 POP3/SMTP/IMAP服务. 在开启服务时,需要客户端授权密码(这里需要手机验证,MD拐弯抹角的要手机号码). 步骤一: 步骤二: 确定后会弹出下面这样的对话框,也会把这个授权密码发送你的短信里,记住这个授权密码一定要记住 服务

Linux平台php命令行程序处理管道数据的方法_php技巧

本文实例讲述了Linux平台php命令行程序处理管道数据的方法.分享给大家供大家参考,具体如下: linux下有一个强大的命令|(管道提示符).它的作用是将前一个命令的结果交给后一条命令并作为后一条命令的输入.而linux下的大多数命令 也都支持这种方式.可是当笔者写完一个php的命令行小程序以后,对于怎样获得前一个命令的结果却陷入了僵局.难道php不支持这样的操作? 于是又开始问google大叔.找来找去,都是说php的命令行模式是怎么回事儿,也没有和我想知道的问题相关的资料.难道是俺的关键字

在DOS下使用长文件名的方法_DOS/BAT

昨天我在某网站的论坛上看到,有人问纯DOS下能否使用长文件名,而有人给他的答复是"不可能".他的答复当然是非常不对的,但是,确实有很多人不清楚,在纯DOS下该如何使用长文件名.现在,我就将DOS下使用长文件名的方法介绍一下.  DOS和Windows都是在不断地发展着的.最先支持长文件名的操作系统是Windows NT 3.5,随后Windows 95也采用了这种技术.然而,由于一些原因,MS并没有将长文件名功能加入到纯DOS中.不过,微软公司只是没有在纯DOS下提供LFN(长文件名)