`
jimmy.shine
  • 浏览: 392946 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SMTP协议简介

    博客分类:
  • Mail
VB 
阅读更多

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的回应并断开连接。
  QUIT
  221ns.cinfo.ruclosingconnection

分享到:
评论

相关推荐

    精彩编程与编程技巧-SMTP协议简介 (Simple Mail Transfer Protocol)...

    ### SMTP协议简介 (Simple Mail Transfer Protocol) SMTP协议是互联网上用于传输电子邮件的标准协议之一,它在TCP/IP协议簇中占有重要地位。SMTP协议定义了一系列规则和命令,使得邮件客户端能够将邮件发送到邮件...

    SMTP协议电子邮件传送剖析

    #### SMTP协议简介 SMTP是一种基于TCP/IP的应用层协议,主要用于在计算机之间传输电子邮件。它的核心功能是规定了如何将一封邮件从发件人的地址传递到收件人的地址。SMTP协议的通信模型相对简单,主要涉及两个角色...

    java socket 实现SMTP协议 发送邮件.docx

    SMTP 协议简介 SMTP(Simple Mail Transfer Protocol)是一种用于发送电子邮件的协议。SMTP 协议工作在应用层,使用 TCP 协议作为传输层协议。SMTP 协议使用 25 号端口作为默认端口。 Java Socket 实现 SMTP 协议 ...

    Python基于PyQt5和SMTP协议实现邮件发送程序项目源码(高分项目)

    SMTP协议简介: SMTP 的全称是“Simple Mail Transfer Protocol”即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机...

    VC++_SMTP协议电子邮件传送剖析

    #### SMTP协议简介 SMTP协议是一种基于客户端/服务器模型的应用层协议,用于在发送端和接收端之间传输电子邮件。SMTP定义了邮件发送者和邮件接收者之间交互的规则,主要包括以下三个方面的内容: 1. **命令与应答**...

    SMTP协议RFC文档中文版-01a7b6a3d9ef5ef7ba0d4a7302768e9951e76ed4.pdf

    SMTP 协议简介 SMTP 协议(Simple Mail Transfer Protocol)是一种基于 TCP/IP 协议簇的应用层协议,用于在不同计算机之间传输电子邮件。SMTP 协议的主要目标是可靠高效地传送邮件,它独立于传送子系统而且仅要求一...

    Wireshark抓包分析POP3和SMTP协议.docx

    **SMTP协议简介**:SMTP是一种用于发送邮件的标准协议,支持邮件从发件人服务器传输到收件人服务器。该协议定义了一系列命令,如`HELO`、`MAIL FROM`、`RCPT TO`等,用于建立连接、指定发件人和收件人、发送邮件内容...

    易语言简单SMTP协议

    SMTP协议是互联网上电子邮件系统的核心,它定义了邮件服务器之间交换邮件的规则。通过SMTP,用户可以将邮件从一个服务器发送到另一个服务器,最终到达收件人的邮箱。易语言实现SMTP协议主要涉及以下几个关键概念: ...

    smtp协议中文PDF

    ### SMTP协议核心知识点详解 #### 1. 引言 简单邮件传输协议(Simple Mail Transfer Protocol,简称SMTP)是一项互联网标准协议,旨在实现电子邮件的可靠、高效传输。它独立于具体的传输子系统,并且只需要一个能...

    smtp协议分析 实验报告

    ### SMTP协议分析实验知识点 #### 一、SMTP协议概述 简单邮件传输协议(Simple Mail Transfer Protocol, SMTP)是用于在互联网上发送电子邮件的标准协议之一。SMTP最初由Jon Postel和Raymond L. Moon在1982年定义,并...

    易语言简单SMTP协议源码

    在这个场景下,"易语言简单SMTP协议源码"应该是指使用易语言编写的实现SMTP协议的程序代码。 SMTP协议的基本工作流程包括以下几个步骤: 1. **连接**:客户端首先与SMTP服务器建立TCP连接。 2. **HELO/EHLO**:...

    SMTP协议分析.doc

    ### SMTP协议分析 #### 1. SMTP概述 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是互联网中用于电子邮件发送的基本协议之一。它的工作原理基于客户端/服务器模型(C/S模式),主要用于从发件人的...

    易语言源码易语言简单SMTP协议源码.rar

    易语言源码易语言简单SMTP协议源码.rar 易语言源码易语言简单SMTP协议源码.rar 易语言源码易语言简单SMTP协议源码.rar 易语言源码易语言简单SMTP协议源码.rar 易语言源码易语言简单SMTP协议源码.rar 易语言源码...

    Wireshark抓包分析POP3和SMTP协议.doc

    Wireshark 抓包分析 POP3 和 SMTP 协议 Wireshark 是一个功能强大且免费的网络协议 analyzer,能够抓包并分析各种网络协议。在这个实验中,我们将使用 Wireshark 抓包分析 POP3 和 SMTP 协议。 一、POP3 协议...

    基于SMTP协议的邮件发送客户端程序设计说明书

    核心代码中,关键类`SmtpMail`用于实现SMTP协议的邮件发送,它可能包含多个子类或成员,如委托和事件来处理邮件发送过程的监控,确保邮件发送的正确性和可靠性。 在程序设计中,`SmtpMail`类会封装SMTP连接、认证、...

    计算机网络课程设计报告:基于SMTP协议的模拟邮件系统

    **计算机网络课程设计报告:基于SMTP协议的模拟邮件系统** 本次课程设计的目标是构建一个模拟邮件系统,该系统基于SMTP(Simple Mail Transfer Protocol)协议,实现了邮件的发送和接收功能。设计内容包括用户注册...

    smtp协议代码示例集合

    在C++编程环境中,实现SMTP协议通常涉及到以下几个关键知识点: 1. **SMTP连接**:首先,你需要建立一个TCP连接到SMTP服务器。这通常通过`socket`编程实现,使用`connect()`函数连接到服务器的特定端口(通常是25或...

    smtp协议的工作原理

    SMTP协议的工作原理涉及多个关键步骤和概念,下面将对其进行详细的解析。 ### 1. SMTP协议的基本工作流程 SMTP协议通过TCP协议在端口25上进行数据传输,它主要由以下步骤组成: 1. **建立连接**:客户端(通常是...

    使用java简单实现基于smtp协议的邮件收发

    Java 实现基于 SMTP 协议的邮件收发是一项常见的任务,尤其在开发自动化通知系统或者服务端消息传递时。SMTP(Simple Mail Transfer Protocol)是一种互联网标准,用于在邮件服务器之间发送电子邮件。以下将详细介绍...

Global site tag (gtag.js) - Google Analytics