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:<[email protected]><o:p></o:p>

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

      C: RCPT TO:<@foo.com:[email protected]><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 <[email protected]><o:p></o:p>

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

      C: To: [email protected]<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:[email protected]  来自哪里
rcpt to:[email protected] 发给谁
data
输入信体内容。回车.结束

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

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

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

quit: 不用说了吧。。。。

你可能感兴趣的:(C++,c,应用服务器,linux,C#)