先简单介绍下smtp

smtp使用命令和应答在客户与服务器之间传输报文。即客户发出一个命令,服务器返回一个应答。发送方与接收方进行一问一答的交互,由发送方控制这个对话。

在XP系统下点‘开始’-‘运行’,输入cmd,进入命令提示符窗口。


第一步,远程登录smtp服务器

    
在命令行窗口输入 telnet
smtp.163.com 25  
然后回车

   
(此处以163邮箱为例,QQ邮箱可输入smtp.qq.com
。25表示建立连接的端口号)


    
此时出现如上信息,这是一个欢迎信息,各个邮箱有所不同

第二步,用户登录

    
输入 helo 163.com 
回车,这是向服务器表明你的用户身份

(注意:此时的字母是不能输错的,因为你的每一次按键实际上已经被传送到服务器,所以输入错误时不能使用退格键删除,只能换行重新输入)


       
250 OK 
为服务器返回的确认信息,说明服务器认可了你的身份

   
输入 auth login 
回车,这是告诉服务器你要输入用户名了(即登录邮箱时的用户名),服务器将返回一个确认信息334     
这时就可以输入用户名了,注意这里的用户名需要编码后才能识别,即如果你的用户名是 fatbear@qq.com
那么你需要将fatbear进行 base64
编码,将编码结果输入命令提示符窗口。base64编码器可以在网上下到,是一个简单的小工具。

    
用户名输入成功后服务器返回一个334的确认信息。

    
用户名输入成功后,接着输入密码,密码同样是需经过 base64
编码后再输入。输入成功后服务器返回一个含‘successful’的信息,说明成功登录。

第三步,写信

    
输入 mail from:< >
回车  
<>中填写发件人的邮箱,即你自己的邮箱名

    
输入 rcpt to:<
>   回车  
<>中填入收件人的邮箱

    
输入 data 回车 ,回车后就可以开始写邮件内容了

下面是data下的可选项:

     输入
from:发件人名称 
,此项可任意填入,将显示在收件箱的‘发件人’一栏

    
输入 to:收件人名称 
,可任意填入,将显示在收件箱的‘收件人’一栏

    
输入 subject:信件主题  
,显示在收件箱的‘主题’一栏中

    
此时需空一行,即在一空行直接回车,表示正文部分的开始

    
空行后输入信件的正文内容。

    
在正文输入结束时输入一个 .
(英文输入法下的句号)回车,表示正文部分的结束。这时将显示邮件成功发送的信息。

关于正文输入汉字的问题,

    
在该窗口下视无法输入汉字的,可以在写字板中打好汉字后复制粘贴进去,且粘贴时只能使用鼠标右键而不能用快捷键,至少我的不行。

SMTP协议--在cmd下利用命令行发送邮件的更多相关文章

  1. SMTP协议--在cmd下利用bat命令行发送邮件

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议 选择‘开始’-‘运行’,输入cmd,进入命令提示符窗口. Windows7默认没有开始Telnet服务,请在运 ...

  2. CentOS 6.5 下利用命令行截图及设置快捷键截图

    CentOS 6.5 下利用命令行截图及设置快捷键截图 1.利用命令模式 捕获整个屏幕 : $ gnome-screenshot 截完屏之后我们可以设置自定义图片存储位置,如图: 捕获当前终端Term ...

  3. 工控随笔_07_西门子_WinCC利用命令行实现操作log日志

    在WinCC中可以通过报警纪录来实现操作员纪录,这个需要WinCC的消息系统进行组态和配置. 利用消息系统进行实现上诉功能不但复杂而且时间久啦也不方便查询.那么有没有一种简单的方法来 实现操作员纪录呢 ...

  4. Git利用命令行提交代码步骤

    利用命令行提交代码步骤进入你的项目目录1:拉取服务器代码,避免覆盖他人代码git pull2:查看当前项目中有哪些文件被修改过git status具体状态如下:1:Untracked: 未跟踪,一般为 ...

  5. Tools - Windows系统下的命令行工具Cmder

    cmder简介 官网:http://cmder.net/ GitHub:https://github.com/cmderdev/cmder Cmder是一个windows下的命令行工具,用来替代win ...

  6. windows下运行命令行mysql,提示mysql不是内部命令,解决办法

    1. 打开CMD命令行,连接本地mysql数据库:mysql -u root -p 提示‘mysql’不是本地命令,解决办法如下: 找到你安装的mysql的目录,打开当前目录下的bin文件夹,你可以看 ...

  7. Ubuntu下用命令行快速打开各类型文件(转)

    nautilus /media/pm/文档/book/system/必读nautilus /media/pm/文档/book/android/ndk 内核/framerwork/android wai ...

  8. 利用命令行引用外部jar包以使程序正常执行的4种方法

    声明:本博客为原创博客.未经同意.不得转载!原文链接为http://blog.csdn.net/bettarwang/article/details/30976069 平时写一些小的Java Demo ...

  9. 利用命令行删除Android系统自带应用的方法

    声明:本博客为原创博客.未经同意,不得转载!小伙伴们假设是在别的地方看到的话,建议还是来csdn上看吧(链接为http://blog.csdn.net/bettarwang/article/detai ...

随机推荐

  1. poj 2287 动态规划

    用贪心简单证明之后就是一个从两头取的动态规划 #include <iostream> #include <cstring> #include <cstdio> #i ...

  2. Linux系统编程(33)—— socket编程之TCP程序的错误处理

    上一篇的例子不仅功能简单,而且简单到几乎没有什么错误处理,我们知道,系统调用不能保证每次都成功,必须进行出错处理,这样一方面可以保证程序逻辑正常,另一方面可以迅速得到故障信息. 为使错误处理的代码不影 ...

  3. cf581C Developing Skills

    Petya loves computer games. Finally a game that he's been waiting for so long came out! The main cha ...

  4. 使用 APPLY

    原文地址:http://technet.microsoft.com/zh-cn/library/ms175156(v=SQL.105).aspx 使用 APPLY 运算符可以为实现查询操作的外部表表达 ...

  5. HDU_2136——最大质因数,素数筛选法

    Problem Description Everybody knows any number can be combined by the prime number. Now, your task i ...

  6. [LeetCode] 200. Number of Islands 解题思路

    Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surro ...

  7. 只要关闭浏览器,session就消失了

    程序一般都是在用户做log off的时候发个指令去删除session,然而浏览器从来不会主动在关闭之前通知服务器它将要被关闭,因此服务器根本不会有机会知道浏览器已经关闭.服务器会一直保留这个会话对象直 ...

  8. 常用渗透性测试工具(Tools for penetration testing)

    常用渗透性测试工具 原文:http://hi.baidu.com/limpid/item/14a2df166adfa8cb38cb3068 对一个应用项目进行渗透性测试一般要经过三个步骤.  第一步, ...

  9. Oracle11g完全卸载步骤

    Oracle11g完全卸载步骤:1. 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务.2. 开始->程序->Oracle - OraHome ...

  10. 设计模式17---设计模式之模板方法模式(Template Method)(行为型)

    1.场景模拟 使用软件模拟登录控制,普通用户和工作人员用户,工作人员的密码在数据库中是加密的. 步骤大致如下: 前台提交,后台获取登录信息,同数据库中的登陆信息进行比较,只不过工作人员是加密的,普通用 ...