下周开始要给学生讲网络协议,那自己先得学会。

为了更好地理解SMTP协议,我进行了使用telnet命令发送邮件的体验,这也是我第一次学习使用telnet命令。

收到了很多次错误响应码后,终于成功了。下面将正确的过程分享出来:

一、准备工作:打开telnet服务

控制面板—程序—程序和功能—启用或关闭Windows功能—勾选Telnet客户端

 二、准备工作:邮箱设置和信息转码

我使用的是163邮箱,设置—POP3/SMTP/IMAP—开启服务—授权密码管理—新增授权密码—手机扫码发送短信—将授权码复制出来保留好

将发件人的邮箱地址和刚才复制出来的授权码都进行base64编码,网上有在线工具,这里我用了python

import base64
print(base64.b64encode(b'你的邮箱地址') )
print(base64.b64encode(b'你的邮箱授权码') )

然后把两个结果保存好,一会儿需要直接复制粘贴

三、telnet发邮件

win+R—telnet,然后输入命令:

open smtp.163.com 25

然后依次输入命令:

HELO xxy

【收到响应】
AUTH LOGIN

【收到响应】

编码后的邮箱地址

【收到响应】
编码后的邮箱授权码

【收到响应】
MAIL FROM:<发件人邮箱地址>

【收到响应】
RCPT TO:<收件人邮箱地址>

【收到响应】
DATA

【收到响应】
To:收件人邮箱地址
From:发件人邮箱地址
Subject:邮件题目

这里空一行~

邮件内容
.

【收到响应】
QUIT

【收到响应】

如果都输入正确,那么你和服务器之间的对话应该如下图所示:

四、验证

验证方法当然是愉快地查收邮件成功啦

五、备注

我自己由于最开始不了解SMTP协议,也对于输入telnet命令行不熟悉,踩了很多坑

比如,HELO后面随便跟个啥都行,如果想有意义一点,那就写自己主机的名字就行

比如,信息头部行和消息体之间一定记得空行,不然邮件收到后识别不到内容

我还存在一些疑惑:

首先,我发现如果我输入过程中经常写错修改,就很容易收到错误响应码,很奇怪,所以建议细心点一次性写对吧[笑cry]

其次,最开始我输入邮箱授权码时总是收到535 Error: authentication failed(身份认证失败),我在网上搜了半天,有帖子说是因为base64编码错误,我用在线编码器和python都试了,结果一样呀,折腾了半天,不知道咋回事突然有一次就成功了,后来再也没失败过,不懂……

如果有大佬知道原因,求告知~

最后祝大家全都250 Mail OK

221 Bye~

SMTP协议:使用telnet发邮件【纯纯小白】相关推荐

  1. 利用telnet SMTP给QQ邮箱发邮件

    学习计算机网络自顶向下,SMTP协议 步骤一:开启Windows的telnet客户端 打开"控制面板"中"程序"中的"启用或关闭Windows功能&q ...

  2. Telnet发邮件过程

    这是一个用telnet连接上邮件服务器发邮件的过程. 蓝色部分都是我输入的命令或者参数. AUTH LOGIN后的用户名及密码是base 64编码的, 即把用户名和密码都用base 64编码,就可以了 ...

  3. python邮件客户端_python3之模块SMTP协议客户端与email邮件MIME对象

    1.smtplib模块的常用类与方法 smtplib模块实现邮件的发送功能,模拟一个stmp客户端,通过与smtp服务器交互来实现邮件发送的功能,可以理解成Foxmail的发邮件功能,在使用之前我们需 ...

  4. Telnet 发邮件

    使用Telnet给163邮箱发送邮件 首先打开系统的Telnet客户端. 将telnet客户端选上 打开cmd命令窗口 连接163的smtp服务器:    telnet smtp.163.com 25 ...

  5. 微信企业邮箱服务器配置错误,解决腾讯企业邮箱smtp.exmail.qq.com发邮件错误

    在程序开发中经常会用到php发电子邮件,在腾讯申请了企业邮箱后,一直用得好好的.不过好像最近腾讯企业邮箱升级更新了,用smtp服务器一发邮件就提示"Cannot connenct to re ...

  6. 网易企业邮箱pop和smtp 设置 java实现发邮件设置

    网易企业邮箱pop和smtp 网易免费企业邮箱 pop:pop.ym.163.com smtp:smtp.ym.163.com 网易收费企业邮箱 pop:pop.qiye.163.com smtp:s ...

  7. 网易163邮箱开通smtp邮件协议后用python发邮件

    网易SMTP开通及python发邮件 1.登录 2.设置 开启服务 短信验证开启服务 得到授权码 3.发文本代码 4.发html代码 1.登录 网易邮箱登录注册地址 https://email.163 ...

  8. 邮件服务器之SMTP协议分析

    第1章. SMTP概述 1.1. SMTP在邮件通信过程中的位置 SMTP,即简单邮件传送协议,所对应RFC文档为RFC821.同http等多数应用层协议一样,它工作在C/S模式下,用来实现因特网上的 ...

  9. exchange无法收发邮件_Python使用POP3和SMTP协议收发邮件!

    先来了解一下收/发邮件有哪些协议: SMTP协议 SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议.相当于中转站,将邮件发送到客户端. POP3协议 POP3 ...

最新文章

  1. android调用相册和摄像头,调用Android摄像头与打开相册
  2. 腾讯云详解宕机故障:光纤挖断后的150秒
  3. 微信小游戏 Egret开发数据域官方Demo下载地址
  4. SDUT2165:Crack Mathmen(快速幂)
  5. 对象存储,为什么那么火?
  6. linux运行中望cad,国产CAD软件中望的Linux版适配UOS, 我在国产系统里试了试
  7. C++类成员的访问权限以及类的封装
  8. 如何在水晶报表显示上下标
  9. TiDB VS MariaDB10.1.19 Enterprise性能压测
  10. ASP中Application与Sesstion对象的使用实例
  11. windows上搭建NFS服务器--haneWIN
  12. 从JPG和JPEG图片获取压缩比详细教程
  13. 几种常用数据库的区别
  14. (软件工程)-- 总体设计报告
  15. 漫画电子电路读书笔记
  16. 计划评审方法和关键路线法【PERT/CPM、统筹方法】
  17. 报错:property on ‘HTMLMediaElement‘: The provided double value is non-finite.
  18. latex 的“对号”的几种表示
  19. 【在Windows7旗舰版下安装Anaconda报错failed to create menus】
  20. 杜亥姆—马居耳公式(Duhem-Margule equations)及其应用

热门文章

  1. matlab 矩阵的n次,用matlab的for循环产生N个矩阵,怎么取第N次的矩阵?
  2. Stack Overflow简单介绍
  3. 1、Python培训 Python 简介
  4. BOOL类型数组初始化
  5. springboot 2.0 配置全局时间格式化
  6. sequelize 的op模块
  7. 点云PCD和PLY区别
  8. 大连创业圈:孤独与寂寞并存
  9. 用了接口还有必要用抽象类吗?
  10. 【看这个篇就够了】95%成为网络安全工程师