telnet发送邮件

  关于电子邮件的基础知识请参照:【Mail】邮件的基础知识和原理

  smtp协议是一个简单的邮件传输协议,利用它我们可以将邮件发送给别人,这里将通过telnet这个程序利用smtp协议从网易向gmail发送一封邮件

  基本步骤如下:
    1、使用telnet连接smtp服务器
    2、发送一个helo或者ehlo指令
    3、验证用户(使用邮件名登陆,用户名和密码要采用base64编码)
    4、使用mail命令准备发送邮件
    5、使用rcpt命令指定对方邮箱地址
    6、使用data命令开始输入内容
    7、输入test或者hello world类似字样(即邮件内容)
    8、输入邮件内容结束标志.
    9、退出smtp服务器

  •   在win环境下,开始--->运行--->cmd ,打开命令运行窗口

    

  •  在命令窗口内,输入一下指令命令,注意用户名和密码要采用base64编码,可以在http://www.bejson.com/enc/base64/网站上进行转码。
     

    

  发送成功过之后,登录网页邮箱查看

    

  • SMTP协议的返回码

telnet接收邮件

  POP3 协议类似于 SMTP 协议,它定义了一些命令用于管理邮箱等具体操作,为了能够在 Windows 下使用 telnet 程序来接收邮件

  POP3相关命令(<space> 为空格,<CRLF> 为回车加换行):

 1、user<space>邮箱的用户名<CRLF> :
该命令用于与 POP3 服务器建立联系;  
 
2、pass<space>邮箱密码<CRLF> :
该命令用于 user 命令成功建立连接之后向 POP3 服务器发送邮箱的密码;  
 
3、stat<CRLF> : 
该命令用于查看邮箱中的邮件数量以及所占用的字节大小;  
 
4、uidl<space>msg#<CRLF> :
该命令用于查询邮箱中编号为 msg# 的邮件的唯一标识符,注:邮箱中的编号是从 1 开始的;  
 
5、list<space>[msg#]<CRLF> :
该命令用于将邮箱中的邮件信息进行列表,当指定参数 msg# 时,返回该编号的邮件的信息,不指定则返回所有邮件的信息;  
 
6、retr<space>msg#<CRLF> :
该命令用于获取编号为msg#的邮件的内容;  
 
7、dele<space>msg#<CRLF> :
该命令用于将编号为 msg# 的邮件设置上删除的标记,注:执行该命令之后邮件并不立即被删除,而是等到执行 quit 命令才会被删除;  
 
8、rset<space>msg#<CRLF> :
该命令用于将执行了 dele 命令的编号为 msg# 的邮件的删除标记清楚掉;  
 
9、quit<space>msg#<CRLF> :
该命令用于结束与 POP3 服务器的链接,即结束邮件的接收过程,执行完该命令之后,邮箱中被设置了删除标记的邮件会被真正删除掉。
    •   打开win系统的命令窗口同上,连接163邮箱的pop3服务器,端口是110

  

  •   输入用户名和密码,使用user命令和pass命令
        
  • 查看邮箱中的邮件数量以及所占用的字节大小
         
  • 查询邮箱
        
  • 查询邮件信息列表
        
  • 获取编号为msg#的邮件的内容
      
  • 将编号为 msg# 的邮件设置上删除的标记,注:执行该命令之后邮件并不立即被删除,而是等到执行 quit 命令才会被删除
         
  • 编号为 msg# 的邮件的删除标记清楚掉
         
  • 退出pop3服务器
         
        

    

【Mail】telnet收发邮件过程的更多相关文章

  1. Java收发邮件过程中具体的功能是怎么实现的

    SMTP协议 用户连上邮件服务器后,要想给它发送一封电子邮件,需要遵循一定的通迅规则,SMTP协议就是用于定义这种通讯规则的. 因而,通常我们也把处理用户smtp请求(邮件发送请求)的邮件服务器称之为 ...

  2. 【Mail】搭建邮件服务器(LAMP+Postfix+Dovcot+PostfixAdmin+Roundcubemail)

    大纲 一.mail部署说明 二.安装准备 三.LMAP环境配置 四.配置postfixadmin 五.配置postfix 六.配置dovecot 七.测试SMTP和POP3服务 八.配置Roundcu ...

  3. 使用telnet模拟邮件的收发

    smtp协议是一个简单的邮件传输协议,利用它我们可以将邮件发送给别人,这里将通过telnet这个程序利用smtp协议从网易向gmail发送一封邮件 基本步骤如下: 1.使用telnet连接smtp服务 ...

  4. Telnet 模拟邮件发送过程

    Telnet 模拟邮件发送过程 windows要提前开启Telnet客户端的功能,再按照下面步骤完成邮件发送: 1.通过 cmd 进入命令窗口 2.连接要发送邮件的服务器:telnet smtp.al ...

  5. 使用 telnet 发邮件

    我们都习惯了用邮件客户端软件或者登录到电子邮件站点进行收发邮件,现在尝试一下使用 Windows 自带的 Telnet 程序手工地发送一封简单的邮件,以此来稍微明白关于邮件发送的一些知识. 现在 E- ...

  6. 用 Apache James 搭建邮件服务器来收发邮件实践(一)(转)

    Apache James 简称 James, 是 Java Apache Mail Enterprise Server的缩写.James 是100%基于Java的电子邮件服务器.它是一种独立的邮件服务 ...

  7. Python收发邮件

    发送邮件使用SMTP协议,接受POP3或IMAP: 创建邮件内容email模块,发送邮件smtplib模块.发送邮件比较简单,只需先创建SMTP对象,登录服务器后根据发收邮箱地址发送即可: POP3接 ...

  8. java中javamail收发邮件实现方法

    概述 1.邮件相关的标准 厂商所提供的 JavaMail 服务程序可以有选择地实现某些邮件协议,常见的邮件协议包括: SMTP(Simple Mail Transfer Protocol) :即简单邮 ...

  9. DouNet学习_收发邮件

    一.收发邮件 --->第一步:发邮件首先要有发送者的邮箱地址和登录的密码才能发送 这些都写在APP里  不要写死 --->第二步:发邮件就要有网络,要添加net.Mail命名空间 要发送的 ...

随机推荐

  1. Android之全局的dialog的显示

    今天做项目有个需求就是有一个页面需要弹出一个dialog,但是这个dialog不可以影响,这个页面的跳转.这个页面可能跳转也可能不跳转,跳转后,这个dialog,还是显示的, 然而我们平时写的dial ...

  2. Git相关文章

    1.Git教程 2.Git常用命令整理 3.EGit(Git Eclipse Plugin)使用

  3. 在eclipse中启动tomcat加载不了项目的解决方法

    一.在server视图右键选择Add and Remove时,如果想要部署的项目不在左侧的待选列表中,或是弹出警告There are no resources that can be added or ...

  4. Ubuntu 安装 SublimeText 3

    1. 下载 $ cd ~/Downloads $ wget https://download.sublimetext.com/sublime-text_build-3083_i386.deb 2. 安 ...

  5. Java学习基础1

    Java 平台: Java API JVM  特点:可跨平台  Java 运行机制:           编译                         运行 Java文件-------> ...

  6. 自定义Java集合

    一.泛型 1.在JDK1.4以前,所有的集合元素全都按照Object来存储,拿出来还要进行强制转型.由于这样的做法有太多的缺点,容易出现ClassCaseException,不安全,让人不省心,于是乎 ...

  7. CoreSeek

    [CoreSeek] CoreSeek有两个核心模块Indexer和Search. Indexer:负责从MySQL拉取数据源,把数据源分词,建立索引. Search:搜索模块. CoreSeek工作 ...

  8. c++ 对象的内存布局

    之前介绍过了普通对象比如系统自带的int等对象的对齐方式,在学习类型转换的时候遇到了自定义类型的继承体系中的downcast与upcast. 于是顺藤摸瓜,摸到了这里.发现还是 陈皓的博客里面写的最早 ...

  9. man curl_easy_perform(原创)

    curl_easy_perform(3)           libcurl 手册                  curl_easy_perform(3) 名字 curl_easy_perform ...

  10. NSDate 刚刚、几分钟、几小时

    - (NSString *)minutesAgo { NSDateFormatter *fmt = [[NSDateFormatter alloc] init]; fmt.dateFormat = @ ...