本文出自: 作者: (2001-11-23 09:08:00)
第二步:转发主机到目的主机
r: 220 bbn-vax.arpa simple mail transfer service ready
s: helo usc-isie.arpa
r: 250 bbn-vax.arpa
s: mail from:<@usc-isie.arpa:jqp@mit-ai.arpa>
r: 250 ok
s: rcpt to:<jones@bbn-vax.arpa>
r: 250 ok
s: data
r: 354 start mail input; end with <crlf>.<crlf>
s: received: from mit-ai.arpa by usc-isie.arpa ;
2 nov 81 22:40:10 ut
s: date: 2 nov 81 22:33:44
s: from: john q. public <jqp@mit-ai.arpa>
s: subject: the next meeting of the board
s: to: jones@bbn-vax.arpa
s:
s: bill:
s: the next meeting of the board of directors will be
s: on tuesday.
s: john.
s: .
r: 250 ok
s: quit
r: 221 usc-isie.arpa service closing transmission channel
确认和发送
r: 220 su-score.arpa simple mail transfer service ready
s: helo mit-mc.arpa
r: 250 su-score.arpa
s: vrfy crispin
r: 250 mark crispin <admin.mrc@su-score.arpa>
s: send from:<eak@mit-mc.arpa>
r: 250 ok
s: rcpt to:<admin.mrc@su-score.arpa>
r: 250 ok
s: data
r: 354 start mail input; end with <crlf>.<crlf>
s: blah blah blah…
s: …etc. etc. etc.
s: .
r: 250 ok
s: quit
r: 221 su-score.arpa service closing transmission channel
获得和发送邮件 首先确定用户名,然后尝试将邮件发送到用户终端,
当它失败时,发送到用户邮箱。
r: 220 su-score.arpa simple mail transfer service ready
s: helo mit-mc.arpa
r: 250 su-score.arpa
s: vrfy crispin
r: 250 mark crispin <admin.mrc@su-score.arpa>
s: send from:<eak@mit-mc.arpa>
r: 250 ok
s: rcpt to:<admin.mrc@su-score.arpa>
r: 450 user not active now
s: rset
r: 250 ok
s: mail from:<eak@mit-mc.arpa>
r: 250 ok
s: rcpt to:<admin.mrc@su-score.arpa>
r: 250 ok
s: data
r: 354 start mail input; end with <crlf>.<crlf>
s: blah blah blah…
s: …etc. etc. etc.
s: .
r: 250 ok
s: quit
r: 221 su-score.arpa service closing transmission channel
上述问题的更有效的作法
r: 220 su-score.arpa simple mail transfer service ready
s: helo mit-mc.arpa
r: 250 su-score.arpa
s: vrfy crispin
r: 250 mark crispin <admin.mrc@su-score.arpa>
s: soml from:<eak@mit-mc.arpa>
r: 250 ok
s: rcpt to:<admin.mrc@su-score.arpa>
r: 250 user not active now, so will do mail.
s: data
r: 354 start mail input; end with <crlf>.<crlf>
s: blah blah blah…
s: …etc. etc. etc.
s: .
r: 250 ok
s: quit
r: 221 su-score.arpa service closing transmission channel
邮件列表 首先,两个邮件列表中的每一个在不同主机的不同会话上扩展,
然后,通过转发主机向列表上的用户发送邮件。
第一步:扩展第一个列表
r: 220 mit-ai.arpa simple mail transfer service ready
s: helo su-score.arpa
r: 250 mit-ai.arpa
s: expn example-people
r: 250-<abc@mit-mc.arpa>
r: 250-fred fonebone <fonebone@usc-isiq.arpa>
r: 250-xenon y. zither <xyz@mit-ai.arpa>
r: 250-quincy smith <@usc-isif.arpa:q-smith@isi-vaxa.arpa>
r: 250-<joe@foo-unix.arpa>
r: 250 <xyz@bar-unix.arpa>
s: quit
r: 221 mit-ai.arpa service closing transmission channel
第二步:扩展第二个列表
r: 220 mit-mc.arpa simple mail transfer service ready
s: helo su-score.arpa
r: 250 mit-mc.arpa
s: expn interested-parties
r: 250-al calico <abc@mit-mc.arpa>
r: 250-<xyz@mit-ai.arpa>
r: 250-quincy smith <@usc-isif.arpa:q-smith@isi-vaxa.arpa>
r: 250-<fred@bbn-unix.arpa>
r: 250 <xyz@bar-unix.arpa>
s: quit
r: 221 mit-mc.arpa service closing transmission channel
第三步:通过转发主机向包括于两个列表中的所有用户发送邮件
r: 220 usc-isie.arpa simple mail transfer service ready
s: helo su-score.arpa
r: 250 usc-isie.arpa
s: mail from:<account.person@su-score.arpa>
r: 250 ok
s: rcpt to:<@usc-isie.arpa:abc@mit-mc.arpa>
r: 250 ok
s: rcpt to:<@usc-isie.arpa:fonebone@usc-isiqa.arpa>
r: 250 ok
s: rcpt to:<@usc-isie.arpa:xyz@mit-ai.arpa>
r: 250 ok
s: rcpt
to:<@usc-isie.arpa,@usc-isif.arpa:q-smith@isi-vaxa.arpa>
r: 250 ok
s: rcpt to:<@usc-isie.arpa:joe@foo-unix.arpa>
r: 250 ok
s: rcpt to:<@usc-isie.arpa:xyz@bar-unix.arpa>
r: 250 ok
s: rcpt to:<@usc-isie.arpa:fred@bbn-unix.arpa>
r: 250 ok
s: data
r: 354 start mail input; end with <crlf>.<crlf>
s: blah blah blah…
s: …etc. etc. etc.
s: .
r: 250 ok
s: quit
r: 221 usc-isie.arpa service closing transmission channel
转发的情况
r: 220 usc-isif.arpa simple mail transfer service ready
s: helo lbl-unix.arpa
r: 250 usc-isif.arpa
s: mail from:<mo@lbl-unix.arpa>
r: 250 ok
s: rcpt to:<fred@usc-isif.arpa>
r: 251 user not local; will forward to <jones@usc-isi.arpa>
s: data
r: 354 start mail input; end with <crlf>.<crlf>
s: blah blah blah…
s: …etc. etc. etc.
s: .
r: 250 ok
s: quit
r: 221 usc-isif.arpa service closing transmission channel
第一步:尝试第一台主机上的邮箱
r: 220 usc-isif.arpa simple mail transfer service ready
s: helo lbl-unix.arpa
r: 250 usc-isif.arpa
s: mail from:<mo@lbl-unix.arpa>
r: 250 ok
s: rcpt to:<fred@usc-isif.arpa>
r: 251 user not local; will forward to <jones@usc-isi.arpa>
s: rset
r: 250 ok
s: quit
r: 221 usc-isif.arpa service closing transmission channel
第二步:尝试第二台主机上的邮箱
r: 220 usc-isi.arpa simple mail transfer service ready
s: helo lbl-unix.arpa
r: 250 usc-isi.arpa
s: mail from:<mo@lbl-unix.arpa>
r: 250 ok
s: rcpt to:<jones@usc-isi.arpa>
r: ok
s: data
r: 354 start mail input; end with <crlf>.<crlf>
s: blah blah blah…
s: …etc. etc. etc.
s: .
r: 250 ok
s: quit
r: 221 usc-isi.arpa service closing transmission channel
许多接收者的情况
r: 220 berkeley.arpa simple mail transfer service ready
s: helo usc-isif.arpa
r: 250 berkeley.arpa
s: mail from:<postel@usc-isif.arpa>
r: 250 ok
s: rcpt to:<fabry@berkeley.arpa>
r: 250 ok
s: rcpt to:<eric@berkeley.arpa>
r: 552 recipient storage full, try again in another transaction
s: data
r: 354 start mail input; end with <crlf>.<crlf>
s: blah blah blah…
s: …etc. etc. etc.
s: .
r: 250 ok
s: mail from:<postel@usc-isif.arpa>
r: 250 ok
s: rcpt to:<eric@berkeley.arpa>
r: 250 ok
s: data
r: 354 start mail input; end with <crlf>.<crlf>
s: blah blah blah…
s: …etc. etc. etc.
s: .
r: 250 ok
s: quit
r: 221 berkeley.arpa service closing transmission channel
名词表:
<crlf>
回车
<sp>
空格
ascii
美国标准信息交换码
主机
拥有smtp进程或邮箱的网络计算机
发送smtp进程
与接收smtp进程一起工作的进程。发送smtp开始传输服务连接,它发出
smtp命令,接收应答,管理邮件的传送
用户
希望获得邮件服务的人(或以人的名义出现的进程),还有就是邮件的接收者。
会话
当传输信道打开时进行的一系列信息交换
传输服务
可靠的面向流的数据通信服务。例如:ncp,tcp,nits。
传输信道
在发送smtp和接收smtp之间建立的全双工的用于交换命令,应答和邮件内容的信道
字符
可显示字符串
行
以一个<crlf>结束的邮件内容
应答
接收smtp对发送smtp的通过传输信道发送的的对某一命令的(成功或不成功的)
响应。应答的一般格式是应答码加一段文本。通常情况下,应答码供机器使用,
而文本用于人类用户使用
邮件内容
一系列的字符串,它们符合arpa internet文本信息格式标准的标准字符集
邮件内容结束标记
标明邮件内容结束的特定字符
邮箱
指定应该向何处发向用户的信件的地址(字符串)。它通常由用户名和主机名表示
命令
由发送smtp发送到接收smtp的要求一个邮件服务操作的请求
域
邮件系统中主机地址字符串的层次式表示
接收smtp进程
与发送smtp进程一起工作的进程。它等待通过传输服务建立的连接。它接收发送
smtp发出的命令,给出应答并执行相应的操作
操作
一个信息由一个接收者发送到另一个或多个接收者的一系列操作
