`
fishermen
  • 浏览: 377783 次
社区版块
存档分类
最新评论

email协议之:SMTP协议

阅读更多

SMTP (Simple Mail Transfer Protocol)协议:

        可以保证电子邮件的可靠和高效传送。TCP/IP 协议的应用层中包含有SMTP协议,但事实上它与传输系统和机制无关,仅要求一个可靠的数据流通道。它可以工作在TCP上,也可以工作在NCP, NITS ,X.25 Transport service等协议上。在TCP上,它使用端口25进行传输。

LINUX使用TELNET,TCP端口25,如下操作连接SMTP服务器,具体的服务器很多,可以用QMAIL等。

S: 220 foo.com Simple Mail Transfer Service Ready<o:p></o:p>

      C: EHLO bar.com<o:p></o:p>

      S: 250-foo.com greets bar.com<o:p></o:p>

      S: 250-8BITMIME<o:p></o:p>

      S: 250-SIZE<o:p></o:p>

      S: 250-DSN<o:p></o:p>

      S: 250 HELP<o:p></o:p>

      C: MAIL FROM:<JQP@bar.com><o:p></o:p>

      S: 250 OK<o:p></o:p>

      C: RCPT TO:<@foo.com:Jones@XYZ.COM><o:p></o:p>

      S: 250 OK<o:p></o:p>

      C: DATA<o:p></o:p>

      S: 354 Start mail input; end with <CRLF>.<CRLF><o:p></o:p>

      C: Date: Thu, 21 May 1998 05:33:29 -0700<o:p></o:p>

C: From: John Q. Public <JQP@bar.com><o:p></o:p>

      C: Subject:  The Next Meeting of the Board<o:p></o:p>

      C: To: Jones@xyz.com<o:p></o:p>

      C:<o:p></o:p>

      C: Bill:<o:p></o:p>

      C: The next meeting of the board of directors will be<o:p></o:p>

      C: on Tuesday.<o:p></o:p>

      C:                         John.<o:p></o:p>

      C: .<o:p></o:p>

      S: 250 OK<o:p></o:p>

      C: QUIT<o:p></o:p>

      S: 221 foo.com Service closing transmission channel<o:p></o:p>

分解:EHLO:client向server打招呼,server清空缓冲和state table,向客户端发消息,表示可以接受。

上述为简单方式,如果需要认证,采用如下向验证邮件服务器发送邮件的过程:
HELO localhost
auth login
Y29zdGFAYW1heGl0Lm5ldA 用户名(base64)
Y29zdGFAYW 密码(base64)
mail from:a@a.com  来自哪里
rcpt to:target@263.net 发给谁
data
输入信体内容。回车.结束

mail from:<user@domain>   envelope中的发件人

rcpt to:<receiver@domail>  envelopse中的收件人

DATA:发送message内容,包括email的所有,共2部分:message head ,message body!

quit: 不用说了吧。。。。

分享到:
评论

相关推荐

    Email协议imap&pop;&smtp;

    SMTP协议用于发送邮件,而IMAP和POP则用于接收邮件。在实际使用中,通常结合使用这三种协议:SMTP发送邮件,然后通过IMAP或POP接收邮件。用户可以根据需求选择使用IMAP(多设备同步,方便管理)还是POP(本地存储,...

    smtp协议中文PDF

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

    计算机网络实验二 Windows下用smtp实现Email客户端

    1)实验目的: 运用各种编程语言实现基于smtp...一、选择合适的编程语言编程实现基于smtp协议的Email客户端。 二、安装Email服务器或选择已有Email服务器,验证自己的Email客户端软件是否能进行正常的Email收发功能。

    基于SMTP协议的带验证的EMAIL发送端(VC实现)

    综上所述,基于SMTP协议的EMAIL发送端在VC++中的实现涉及到SMTP协议的理解、选择合适的库或API、配置邮件服务器信息以及处理各种可能的异常情况。对于不同的邮件服务提供商,可能需要调整端口和认证机制。在实际开发...

    emailsmtp_emailsmtp_zip_

    标题中的"emailsmtp_emailsmtp_zip_"暗示我们正在处理一个与电子邮件SMTP发送相关的压缩文件包。描述中的"ENVIO DE MAIL MEDIAN SMTP"进一步确认了这个主题,它提到了通过SMTP(Simple Mail Transfer Protocol)进行...

    基于smtp协议的邮件发送程序

    在这个基于SMTP协议的邮件发送程序中,我们可以深入探讨以下几个关键知识点: 1. **SMTP工作原理**: SMTP是一种基于文本的协议,它使用TCP/IP连接进行通信。邮件的发送通常分为三个阶段:连接、邮件传输和关闭...

    SMTP协议实现

    在Java编程中,我们可以利用JavaMail API来实现SMTP协议,从而实现邮件的发送功能。 JavaMail API是Java平台上的一个标准库,提供了一系列接口和类,用于处理邮件的创建、发送和接收。在实现SMTP协议时,主要涉及`...

    ruby的pop3、SMTP类库说明

    在Ruby中,Net::SMTP类实现了SMTP协议。主要方法包括: 1. Net::SMTP.start:初始化SMTP连接,指定SMTP服务器地址、端口,可能还需要SSL设置,以及发件人邮箱和认证信息。 2. Net::SMTP#send_message:发送一封...

    基于SMTP和POP3协议的EMAIL收发软件

    SMTP协议主要负责邮件的发送过程。它定义了客户端(邮件用户代理,MUA)如何将邮件发送到服务器(邮件传输代理,MTA)。在C#中,可以使用System.Net.Mail命名空间中的SmtpClient类来实现SMTP服务的交互。开发者需要...

    使用smtp实现Java发送邮件源码

    总的来说,通过JavaMail API和SMTP协议,开发者可以在Java应用中轻松地实现邮件发送功能。这个过程涉及到配置SMTP服务器信息、构建邮件消息以及使用Transport进行发送,是一个基础但重要的IT技能。

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

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

    Internet Email协议开发指南

    《Internet Email协议开发指南》是一本专为电子邮件应用程序开发者、管理员和高级用户设计的参考书。作者Kevin Johnson将分散在多种RFC(Request for Comments)和软件包中的信息整合,全面阐述了Internet电子邮件的...

    使用SMTP协议发送电子邮件.rar

    在压缩包中的文件可能包含详细的操作指南或代码示例,展示了如何使用SMTP协议在不同的编程语言(如Python、Java、C#等)中实现发送电子邮件的功能。这些示例通常会涉及使用SMTP库,设置服务器配置,构建邮件对象,...

    Email概述及工作原理PPT课件.pptx

    Email系统中常用的标准和协议有SMTP协议、MIME标准、POP3协议。SMTP协议是简单邮件传输协议,负责邮件的传输。MIME标准是多用途Internet邮件扩展,允许传送非ASCII码的文件。POP3协议是电子邮件协议第三版,负责邮件...

    SMTP协议jar包.zip

    对于"SMTP协议jar包.zip"这个压缩包,我们可以推测其中包含了一个或多个支持SMTP协议的Java库。 QQ邮箱提供SMTP服务,允许开发者通过SMTP协议发送邮件。要使用QQ邮箱发送邮件,你需要获取到QQ邮箱的SMTP服务器地址...

    perl 写的发邮件smtp

    最后,我们按照SMTP协议的格式发送邮件,并在完成后关闭连接。 在实际应用中,你可能需要根据你的邮件服务提供商的设置调整SMTP服务器地址、端口、是否需要身份验证等信息。同时,为了提高安全性,避免在代码中硬...

    Email 邮件协议编程实例 源码 in vc

    使用SMTP协议,你需要构造符合SMTP命令格式的消息,包括发件人、收件人、主题和邮件正文。在VC中,这通常涉及创建TCP套接字,发送命令,然后发送邮件数据。例如,使用MFC,你可以创建CInternetSession对象,然后使用...

    利用SMTP协议发送电子邮件支持附件

    总的来说,通过理解SMTP协议的工作原理和Visual C++中的邮件处理类,我们可以构建一个功能完备的邮件发送程序,支持附件功能。这不仅在实际开发中非常有用,也是学习网络编程和邮件系统的好实践。

Global site tag (gtag.js) - Google Analytics