为了忘却的纪念 $bestmost->save("多多益善")
言己及众
PHP博客
|
首页
|
发新随笔
|
发新文章
|
联系
|
聚合
|
管理
SMTP被用来在因特网上传递电子邮件 的 原理
SMTP被用来在因特网上传递电子邮件。文件RFC821规定了该协议的所有细节。但是你只须记住下面的内容--该协议的基本命令和方法就行了。
协议的原理很简单。无非是一个客户端计算机向服务器发送命令,然后服务器向客户端计算机返回一些信息。客房端发送的命令以及服务器的回应都是字符串,你并不需要特别的软件就能读出它们。如果你仔细看过WinsockTerminal示例程序的源代码,你就会发现这一点。现在让我们用这个示例程序来向自己发一封电子邮件吧。
运行示例程序,单击
"
Connect
"
按钮,在
"
Connectto
"
对话框中输入你的电子邮件服务器的地址,选择SMTP选项。最后按
"
Connect
"
按钮。如果连接成功,Winsock控件会产生Connected事件,在状态栏中也可看到连接成功的信息。在主文本窗口中你将看到从服务器返回的文本。该文本包含一个三位数的代码及描述,例如:
220
-
ns
.
cinfo
.
ruSendmail8
.
6.12
/
8.6
.
9readyatWed
,
22Apr199822
:
54
:
41
+
0300
220ESMTPspokenhere
不必太过留意这些描述。因为这些描述可能会因服务器而异。你只须要知道代码所代表的意思就行了。代码220表示成功建立连接,服务器等待你的第一个命令。
向服务器传递的第一个命令是HELO
.
该命令包含一个参数,即你的邮箱名。
HELOoleg
注意
:
在RFC821中,HELO是一个可选择性命令,如果服务器不要求该命令的话,你可以把它忽略掉。
如果命令成功,服务器会返回一个代码为250的回应。下一步用MAILFROM命令告诉服务器你想发一封邮件。该命令以发信人的邮件地址为参数。
MAILFROM
:
oleg@vbip
.
com
发完命令后,如果服务器返回一个代码为250回应,你就可以向服务器发送RCPTTO命令了。该命令以收信人地址为参数,一看便知是告诉服务器你想将邮件发到收信人地址处。
RCPTTO
:
somebody@domain
.
com
如果你想将邮件发给多个收件人的话。你需要多次使用RCPTTO命令,对每个命令,服务器都会返回代码为250的回应。
现在你可以向服务器发送邮件正文了。用DATA命令告诉服务器以下的内容为邮件正文。在你从服务器收到代码为354的回应后,你就可以发送邮件正文了。邮件按行发送,每行邮件以一个无回车的换行符结束(在VB中就是vbLf)示例程序知道何时使用换行符,何时使用回车加换行符。所以你只须按回车键就行了。下面是一个例子:
Subject
:
Myfirste
-
mailmessage
.
Firstlineofamessage
.
Secondline
.
.
注意上面最后一行的最后一个字符是一个小数点。这是正文结束的标志。用VB代码表示就是vbLf
&
"
.
"
&
vbCrLf
.
服务器收到这个标志后,就会立即向你返回一个代码为250的回应以及该邮件的唯一ID号。
250WAA10568Messageacceptedfordelivery
任务完成了,你可以继续发送下封邮件,也可以断开同服务器的连接。如果要断开同服务器的连接就用QUIT命令。在这种情况下,服务器会返回一个代码为221的回应并断开连接。
发表于 2008-09-10 14:53
bestmost
阅读(399)
评论(0)
编辑
收藏
引用
网摘
所属分类:
php模块和类库
、
html,web相关
只有注册用户
登录
后才能发表评论。
网站导航:
IT新闻
博客园
BlogJava
博客生活
IT博客网
C++博客
程序员招聘
随笔:279 文章:16 评论:48 引用:0
<
2008年9月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
公告
留言簿
(7)
给我留言
查看公开留言
查看私人留言
随笔分类
(325)
ajax(8)
(rss)
appche(2)
(rss)
fleaphp(19)
(rss)
hacker(4)
(rss)
html,web相关(34)
(rss)
js(85)
(rss)
linux(2)
(rss)
mysql 及其他(22)
(rss)
php模块和类库(100)
(rss)
seo搜索(13)
(rss)
smarty(7)
(rss)
svn(7)
(rss)
xajax(1)
(rss)
工作心得(19)
(rss)
软件工程(2)
(rss)
all
codebit有效并且可重用的小段代码
如果你是寻找一些小的编程技巧和经典的教程文章,那么您找对地方了,你可以从点击导航里的 【技术文章】 开始。通过重用本站收集的小段代码,您的编程效率有很大提高,偶尔也会自己写一些本站所没有的经典代码
pear安装 php(Appserv)
PEAR套件的管理(图)
Phpgrid php框架
php相关
PHP中相对路径问题
泉城酷仔的博客php
搜索
积分与排名
积分 - 331580
排名 - 3
最新评论
1. re: js中用undefined作判断条件
评论内容较长,点击标题查看
--haix
阅读排行榜
1. 字符编码详解及由来(UNICODE,UTF-8,GBK)[转帖](12405)
2. 根据16进制输出所有汉字(9081)
千百亿工作室
BT促销网