用命令行发邮件——让你更加了解smtp
本文演示用命令行发送邮件的过程。
SMTP
首先介绍下smtp协议——简单邮件传输协议 (Simple Mail Transfer Protocol, SMTP) 是事实上的在Internet传输email的标准。

SMTP使用命令在客户端和服务器之间传输报文,即客户端发出一个命令,服务器返回一个应答。发送方与接收方一问一答的交互,由发送方控制这个对话。
使用cmd发送邮件
1.使用telnet工具连上某个邮箱服务的smtp服务器,以163.com为例
> telnet smtp.163.com 25

25是端口号,注意前面有个空格。
回车之后如下图:

2. 和smtp服务器打招呼
> helo smtp

注意这个界面下不要使用退格键。
3. 登录到smtp服务器
> auth login
注意:用户名是你邮箱经过base64编码之后的字符串,密码也是。

4.登录成功之后就可以写邮件了
发件人和收件人格式如下:
Mail from:you@163.com
Rcpt to:sendto@qq.com
接下来写邮件正文内容,输入 data 之后回车即可,
This email from command line. Cross the GFW, we can reach every corner in the world !
正文结束标志是在最末尾输入一个英文状态下的 .
下面是data下的可选项:
输入 from:发件人名称 ,此项可任意填入,将显示在收件箱的'发件人'一栏
输入 to:收件人名称 ,可任意填入,将显示在收件箱的'收件人'一栏
输入 subject:信件主题 ,显示在收件箱的'主题'一栏中
此时需空一行,即在一空行直接回车,表示正文部分的开始
空行后输入信件的正文内容。
按下回车,邮件就顺利的通过cmd发送出去了~

用命令行发邮件——让你更加了解smtp的更多相关文章
- linux命令行调试邮件服务器
linux命令行调试邮件服务器 1. Linux客户端调试邮件过程 [root@mxtest ~]# telnet mail.xx.com 25 Trying 172.16.236.103... Co ...
- 一步一步从原理跟我学邮件收取及发送 3.telnet命令行发一封信
首先要感谢博客园管理员的及时回复,本系列的第二篇文章得以恢复到首页,这是对作者的莫大鼓励.说实在的本来我真的挺受打击的.好在管理员说只是排版上有些问题,要用代码块修饰下相关的信息.说来惭愧因为常年编码 ...
- linux 发邮件
一. centos yum 安装 1. yum install mailx vim /etc/nail.rc 添加网易163邮箱开放的需要认证的smtp服务器: set from=USER@16 ...
- Sendip 命令行发包工具,支持IP、TCP、UDP等
Sendip是一个linux平台的命令行发数据包工具,目前(2018年2月)支持的协议有ipv4.ipv6.icmp.tcp.udp.bgp.rip.ntp,作者表示其他协议将会后面支持,当他有空写的 ...
- 用C++发邮件
近段时间,实验室电脑的IP频繁地改变,搞得想用远程偷下懒都不行.这时想到的解决方法有:静态IP,动态域名,自己解决.静态IP虽然可以自己指定,但一关机后,与对方冲突就完了,作罢.免费的动态域名又要手机 ...
- 【python】python 自动发邮件
一.一般发邮件的方法 Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件. 注意到构造MIMETEXT对象时,第一个参数就是邮件正文,第 ...
- SSIS - 7.发邮件任务
发邮件任务在SSIS中使用特别多,当包执行失败或者有报错的时候可以用发邮件任务给管理员发邮件通知. 一.SMTP连接管理器 SMTP连接管理器是发邮件任务用来连接SMTP(Simple Mail Tr ...
- centos shell基础 alias 变量单引号 双引号 history 错误重定向 2>&1 jobs 环境变量 .bash_history source配置文件 nohup & 后台运行 cut,sort,wc ,uniq ,tee ,tr ,split, paste cat> 2.txt <<EOF 通配符 glob模式 发邮件命令mail 2015-4-8 第十二节课
centos shell基础知识 alias 变量单引号 双引号 history 错误重定向 2>&1 jobs 环境变量 .bash_history source配置文件 ...
- 命令行发送SMTP协议邮件(163邮箱)
这里我们用163邮箱为例子,借助命令行发送smtp邮件 1.连接服务器 在终端上输入:telnet smtp.163.com 25 回车,然后就连接了服务器的25端口,成功会输出 220 163.co ...
随机推荐
- swift3.0:sqlite3的使用
介绍 一.sqlite是纯C语言中底层的数据库,在OC和Swift中都是经常使用的数据库,在开发中,可以使用代码创建数据库,可以使用图形化界面创建数据库.例如SQLiteManager.SQLiteS ...
- ArcGisServer根据最大最小坐标换算瓦片行列号【转】
1.前言 在上一节中我们知道了屏幕上一像素等于实际中多少单位长度(米或经纬度)的换算方法,而知道这个原理后,接下来我们要怎么用它呢?它和我们前端显示地图有什么关联呢?这一节,我会尽量详细的将这两个问题 ...
- asp.net网站发布
1.iis里面新建一个网站,目录可以新建(例如:F:\dotNetWeb),还可以创建子文件夹如:F:\dotNetWeb\my,网站路径是可以自己设置的,也可以使用IIS默认的网站. 2.vs201 ...
- ajax hash缓存
hash 模拟url路由 function hashdone(){ var hash; hash=(!window.location.hash)?"#one&qu ...
- 设置让php能够以root权限来执行exec() 或者 shell_exec()
一.查看启动你php的进程的用户是谁. 可以通过在命令行执行:ps -ef | grep php来看.或者在php中执行 echo exec('whoami') 来查看.centos下默认会是nobo ...
- 【Kafka】Kafka-分区数-备份数-如何设置-怎么确定-怎么修改
Kafka-分区数-备份数-如何设置-怎么确定-怎么修改 kafka partition 数量 更新_百度搜索 kafka重新分配partition - - CSDN博客 如何为Kafka集群选择合适 ...
- 【转】npm install、npm install --save与npm install --save-dev区别
原文: https://blog.csdn.net/qq_30378229/article/details/78463930 ------------------------------------- ...
- 2017年11月8日最新仿互站导航t5友价商城-9套模板首页都增加微信登陆
今天测试效果如下,直接看图吧,入口在下方,点击图片直达 把9套餐模板都添加了微信首页登陆,仿互站的导航,操作比互站还要方便,官方一直对https 支持不太友好,索性把所有的https bug都修复了, ...
- [幽默漫画]对于程序猿来说deadline很容易搞定!
更多漫画在这里
- iOS编程(双语版)-视图-Autolayout代码初步
一谈到Autolayout,初学者肯定想到的是IB中使用拖拽啊,pin啊各种鼠标操作来进行添加各种约束. 今天我们要聊得是如何利用代码来添加视图间的约束. 我们来看一个例子: (Objective-C ...