【Mail】telnet收发邮件过程

文章原址:http://www.cnblogs.com/h--d/p/6125993.html


作者写的真棒,按照步骤一步一步都可执行,我是在centos7服务器下进行的实验,命令完全和下面一样,注意的地方是:

1,centos7要安装telnet,命令是sudo yum install telnet;

2,因为telnet终端连接的时间很短,所以要预先把命令写好,然后直接粘贴;

3,telnet是什么东西?

Telnet is a protocol used on the Internet or local area networks to provide a bidirectional( 双向的) interactive text-oriented(面向文本) communication facility using a virtual terminal connection. User data is interspersed in-band(n. [通信] 带内;同频带信号传输;合规频率) with Telnet control information in an 8-bit byte oriented data connection over the Transmission Control Protocol (TCP).(from wiki)

Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。(百度百科)

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

  

  •   输入用户名和密码,使用user命令和pass命令
         
  •      查看邮箱中的邮件数量以及所占用的字节大小
          
  •      查询邮箱
         
  •      查询邮件信息列表
         
  •       获取编号为msg#的邮件的内容
      
         

     

  •      将编号为 msg# 的邮件设置上删除的标记,注:执行该命令之后邮件并不立即被删除,而是等到执行 quit 命令才会被删除
          
  •      编号为 msg# 的邮件的删除标记清楚掉
          
  •       退出pop3服务器
          

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/420992.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

error 1307 (HY000):Failed to create procedure

在mysql5.1中创建存储过程失败&#xff0c;经检查sql语法没有问题&#xff0c;在网上以查阅才知道是mysql5.1本身的问题。解决办法如下&#xff1a; 1.删除mysql数据库中的proc表&#xff1b; 2.重建proc表&#xff0c;重建sql代码如下&#xff1a; CREATE TABLE proc ( db cha…

第10章 32 位 Intel 微处理器编程架构

从这一章开始开始从从实模式进入32位保护模式&#xff1b;什么是实模式&#xff1f;之前所有的汇编程序都是在实模式下运行的&#xff0c;其特点是编程者可以读写任意一块内存&#xff0c;而不管这样做合不合适&#xff1b;保护模式则为了保护内存资源进行了限制&#xff0c;为…

入门训练 Fibonacci数列

http://lx.lanqiao.org/problem.page?gpidT4入门训练 Fibonacci数列 时间限制&#xff1a;1.0s 内存限制&#xff1a;256.0MB问题描述Fibonacci数列的递推公式为&#xff1a;FnFn-1Fn-2&#xff0c;其中F1F21。 当n比较大时&#xff0c;Fn也非常大&#xff0c;现在我们想知…

python模块与包的导入

一&#xff0c;模块 1&#xff0c;下面是hello.py脚本(模块)&#xff0c;有两求Fibonacci的函数. def fib1():a, b 0, 1print(0-10内:)while a < 10:print(a, end )a, b b, a bprint()def fib2(n):a, b 0, 1L []while a < n:L.append(a)a, b b, a bprint(L)retu…

第11章 进入保护模式

对照代码重点理解一下三个要点&#xff1a; 1,从实模式到保护模式的整体过程&#xff1b; 2&#xff0c;实模式怎样安装GDT&#xff1b; 3&#xff0c;从实模式怎样过渡到安全模式&#xff1b; 4&#xff0c;安全模式怎样寻址&#xff1b; 代码如下&#xff1a; ;代码清单1…

ASP.NET学习笔记之操作过滤器

转载于:https://www.cnblogs.com/kevin1988/p/3684442.html

第12章 存储器的保护

学习32位保护模式明显感觉比16位实模式复杂一些&#xff0c;其实两者之间所做的事情是一样的&#xff0c;无非是对内存的各种操作&#xff0c;对栈的各种操作&#xff0c;但是手段不一样&#xff0c;实模式是野蛮的&#xff0c;可以在任意地方读写&#xff08;比如代码区&#…

with open的使用

1, open(‘file’, mode) 第一个参数是包含文件名的字符串。第二个参数是另一个字符串&#xff0c;其中包含一些描述文件使用方式的字符。mode 可以是 ‘r’&#xff0c;表示文件只能读取&#xff0c;‘w’ 表示只能写入&#xff08;已存在的同名文件会被删除&#xff09;&…

Android硬件抽象层(HAL)概要介绍和学习计划 1转

最近和另外一家开发公司涉及到合作,一直希望了解Android从Linux到App整个架构和流程,那家开发工程师也不断提供帮助,不过如果借助后面几篇博客,相对系统和完整的可以了解更加清晰, <博客:http://blog.csdn.net/luoshengyang/article/details/6567257> Android的硬件抽象层…

第13章 程序的动态加载和执行(一,引导)

这个引导扇区的代码没什么困难&#xff0c;比较容易读懂。较上一章不同的是&#xff0c;引导扇区除了给本身代码准备GDT之外&#xff0c;还要给“简易操作系统”准备GDT。本章中的引导扇区代码&#xff0c;内核代码&#xff0c;用户代码一定的要弄的清楚明白熟悉后才能进行后面…

.f' '或者.F' '或者string.format(args)

1&#xff0c;格式化字符串 {var} 作为占位符 Year 2020f Today is {Year}# f.my py coding... {var} F.my py coding {var}the sum of 1 2 is {0}.format(12)百分数&#xff0c;小数的格式化 def test_f():import mathprint(f{math.pi:0.2f}) # 保持小数点后两位test_f()…

DecimalFormat很强大

DecimalFormat的用法 Java 浮点数 Float Double 小数 格式化 保留小数位后几位等 1 DecimalFormat df new DecimalFormat(); 2 double data 1234.56789; 3 System.out.println("格式化之前的数字: " data); 4 String s…

第13章 程序的动态加载和执行(二,用户代码)

弄清楚两个问题&#xff0c;这段应用代码就容易读懂了&#xff1a; 1&#xff0c;核心代码是如何把指针指到这里的&#xff1b; 2&#xff0c;这段代码是如何使用内存的&#xff1b; 读这个代码的时候&#xff0c;可以类比我们平时写的练习小程序&#xff0c;以C程序为例&am…

Java枚举的定义,使用

一&#xff0c;枚举是什么? 在数学和计算机科学理论中&#xff0c;一个集的枚举是列出某些有穷序列集的所有成员的程序&#xff0c;或者是一种特定类型对象的计数。这两种类型经常&#xff08;但不总是&#xff09;重叠。 [1] 是一个被命名的整型常数的集合&#xff0c;枚举在…

php mysql

1 php 链接到MySQL 的语句&#xff1a; $conn mysql_connect("localhost","root","root") or die("数据库连接失败&#xff0c;请检查你的网络,稍后再试试"); 注&#xff1a;mysql_connect 打开一个到 MySQL 服务器的连接 mysql_sel…

第13章 程序的动态加载和执行(三,核心代码)

这个核心代码也是本书唯一的一个核心代码&#xff0c;把这个读懂了&#xff0c;本书基本上通了&#xff0c;这个核心代码不难&#xff0c;只是前面知识的综合应用而已&#xff0c;所以用一到两个星期把这个三个程序读熟再进行下面的四章。 怎么样才算是读通了一个代码&#xf…

输入字符串统计字符串中每个字符出现的次数

这是一个作业题。 我还遇到两次了… 利用map集合嘿哈哈搞定… import java.util.HashMap; import java.util.Scanner;public class CaclulateNum {public static void main(String[] args) {// 2&#xff1a;输入字符串统计字符串中每个字符出现的次数showNum();}static void …

html相对路径

“../”表示上一级目录开始 “./”表示当前同级目录开始 “/”表示根目录开始。 &#xff08;1&#xff09;../../ 表示源文件所在目录的上上级目录 &#xff08;2&#xff09;G:\site\index.htm 与G:\site\web\article\01.htm互做超链接。 index.htm要想链接到01.htm这个文…

py语法错误与异常处理

python的异常处理一&#xff0c;语法错误&#xff08;解析错误&#xff09;1&#xff0c;解析错误invalid syntax二&#xff0c;内置的异常1&#xff0c;内置异常三&#xff0c;异常的处理1&#xff0c;基本的try except语句2&#xff0c;except语句3&#xff0c;eles语句4&…