教你用命令行的方式发送Email

来源:互联网 发布:mysql 打印错误信息 编辑:程序博客网 时间:2024/06/11 06:00

题记:

如果你觉得这对你来说已经没有什么问题,那么请你继续看下去,我的文章会对你有帮助;

如果你觉得很神奇,那么你可以继续阅读下面的文章。下面的文章,会让你更清晰的理解一个smtp协议的工作方式的。

开始工作:

A:简单smtp连接:如163,qq,126等命令行的工作方式

A1:准备工作:

打开telnet服务器和客户端服务

 vista之前的版本:

                 1.打开控制面板”管理工具服务 或者在 开始运行,输入:services.msc

        2.找到telnet 修改为手动或者自动,然后启动该程序。

   Win7和windows  Server 2008:

               1.“开始”→“控制面板”→“程序”,“在程序和功能”找到并点击“打开或关闭Windows 功能”

              2.进入Windows 功能设置对话框。找到并勾选“Telnet客户端,最后“确定”稍等片刻即可完成安装

              3.服务器端同上。

  A2:本文以163的邮箱为例

1.在 开始运行,输入:telnetsmtp.163.com25

2. 连接成功会提示:“220 ……”,连接失败会提示:“…… 连接失败”(……不需要关系)

3.连接成功之后,输入:ehloname回车

4.服务响应输出为: 一串250开头的字符串,这个不需要关系,也就是成功的意思。

  如果有AUTH LOGIN,那么你可以继续下面的工作,如果没有看下一段gmail的方式。

5.输入:auth login

6.服务提示334 ……,提示输入用户名,因为smtp验证用户名和密码是需要base64编码的,这个你不需要关心,

  一个网址:http://maclife.net/tools/base64/ 把你的163的用户名和密码进行一次编码,然后输入用户名的base64编码。

7.服务提示334……,即需要输入输入密码,输入base64密码

8.登录成功的标识是:250(每当看到250我就感觉怪怪的)

9.接下的几个命令一次为:mail from:<From email address>

                                                rcpt to:<To email address>

                                                data

10.如果每次都返回250,那么下面你就可以输入邮件的正文了,当然也可以有一些标准,如Mail from ,mail to,subject,date等关键字来格式化你的email.

11.email正文写完之后,回车输入"."回车,记得一定是单独的英文模式下的句号,单独一行,表示email内容完毕。

11.返回250,表明发送成。成功附图:

    每一步的操作如下:

OK到此简单的命令行发送email就ok了。上文也说了,如果碰到gmail该如何办呢?

B:复杂的smtp连接方式:如gmail

因为gmail的连接需要的是starttls进行连接,但是telnet不支持这种连接方式。命令行下用openssl,可以进行starttls的方式进行连接smtp服务器。

B1:准备工作:

下载并安装opensll,下载地址: http://www.openssl.org or  http://www.slproweb.com/products/Win32OpenSSL.html 

       B2:gmail为例,进行操作。

1.在openssl安装目录下,找到bin目录下的openssl.exe,点击并运行

         2.输入命令:s_client -starttls smtp -connect smtp.gmail.com:25

         3.提示250,标识starttls连接成功。

 4.输入ehlo name

 5.下面的如上面所述163发送email是一样的了。

总结:

 使用以上两种方式都能进行发送email,这有助于更深入的了解smtp协议的。想了解更多请参看:http://www.longen.org/s-z/details~z/smtp.htm

通过本文,希望你能对smtp协议有一个更深刻的认识。也能给你编程提供一些思想。

如:可以使用命令行的方式,进行批量发送email。

    如果自己制作客户端,进行发送email呢?

参看http://blog.csdn.net/chary8088/article/details/4526332你讲找到答案。

        



原创粉丝点击