本文演示用命令行发送邮件的过程。

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的更多相关文章

  1. linux命令行调试邮件服务器

    linux命令行调试邮件服务器 1. Linux客户端调试邮件过程 [root@mxtest ~]# telnet mail.xx.com 25 Trying 172.16.236.103... Co ...

  2. 一步一步从原理跟我学邮件收取及发送 3.telnet命令行发一封信

    首先要感谢博客园管理员的及时回复,本系列的第二篇文章得以恢复到首页,这是对作者的莫大鼓励.说实在的本来我真的挺受打击的.好在管理员说只是排版上有些问题,要用代码块修饰下相关的信息.说来惭愧因为常年编码 ...

  3. linux 发邮件

      一. centos yum 安装 1. yum install mailx vim  /etc/nail.rc 添加网易163邮箱开放的需要认证的smtp服务器: set from=USER@16 ...

  4. Sendip 命令行发包工具,支持IP、TCP、UDP等

    Sendip是一个linux平台的命令行发数据包工具,目前(2018年2月)支持的协议有ipv4.ipv6.icmp.tcp.udp.bgp.rip.ntp,作者表示其他协议将会后面支持,当他有空写的 ...

  5. 用C++发邮件

    近段时间,实验室电脑的IP频繁地改变,搞得想用远程偷下懒都不行.这时想到的解决方法有:静态IP,动态域名,自己解决.静态IP虽然可以自己指定,但一关机后,与对方冲突就完了,作罢.免费的动态域名又要手机 ...

  6. 【python】python 自动发邮件

    一.一般发邮件的方法 Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件. 注意到构造MIMETEXT对象时,第一个参数就是邮件正文,第 ...

  7. SSIS - 7.发邮件任务

    发邮件任务在SSIS中使用特别多,当包执行失败或者有报错的时候可以用发邮件任务给管理员发邮件通知. 一.SMTP连接管理器 SMTP连接管理器是发邮件任务用来连接SMTP(Simple Mail Tr ...

  8. 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配置文件 ...

  9. 命令行发送SMTP协议邮件(163邮箱)

    这里我们用163邮箱为例子,借助命令行发送smtp邮件 1.连接服务器 在终端上输入:telnet smtp.163.com 25 回车,然后就连接了服务器的25端口,成功会输出 220 163.co ...

随机推荐

  1. ubuntu18.04+ cuda9.0+opencv3.1+caffe-ssd安装

    详细Ubuntu18.04,CUDA9.0,OpenCV3.1,Tensorflow完全配置指南 问题1:使用Cmake编译opencv源码 CMake Error: The following va ...

  2. 为Linux操作系统所在的logical volumn扩容

    感谢Lieven和Tom的协助,这个问题才得以解决.我在这里把解决问题的步骤总结一下,帮助自己学习. 问题描述 =========== 笔者有一台linux的物理机,其上名为centos-root的l ...

  3. Valid Sudoku leetcode java

    题目: Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board could ...

  4. Spring Boot Maven Plugin打包异常及三种解决方法:Unable to find main class

    [背景]spring-boot项目,打包成可执行jar,项目内有两个带有main方法的类并且都使用了@SpringBootApplication注解(或者另一种情形:你有两个main方法并且所在类都没 ...

  5. vue使用watch 观察路由变化,重新获取内容

    watch: { $route(to) { console.log(to) if (to.path.indexOf('index') != -1) { //路由变化后重新获取帖子列表 this.$ht ...

  6. C++模拟键盘消息

    实现功能:在现有DLL程序中向特定的EXE窗口中发送模拟键盘的消息 使用API根据窗口标题递归查找特定的窗口句柄,之后模拟调用. 注意:keybd_event函数不能在VS下使用,所以用SendInp ...

  7. Android -- 在xml文件中定义drawable数组

    Xml <string-array name="images"> <item>@drawable/image1</item> <item& ...

  8. [转]PostgreSQL Replication之扩展与BDR

    原文:https://www.cnblogs.com/xmzzp/p/6284300.html postgres 实现master, slave ,且master是多主. -------------- ...

  9. Spark:JavaRDD 转化为 Dataset<Row>的两种方案

    JavaRDD 转化为 Dataset<Row>方案一: 实体类作为schema定义规范,使用反射,实现JavaRDD转化为Dataset<Row> Student.java实 ...

  10. mke2fs 制作ext2文件系统image

    方法1: 利用/dev/ram1: linux下有很多ram,我们用ram1,首先把ram1格式化成ext2文件系统[root@gucuiwen babylinux]#   sudo mkfs.ext ...