电子邮件(emai) SMTP-简单邮件传输协议( Simple mail Transfer ProtocoL) rFC 82 1 POP-邮局协议( Post office protocol) RFC 1939 其他 RFC 822 Standard for the Format ofarpa Internet Text Messages RFCS 1521.1522 Mime
2 电子邮件(email) • SMTP - 简单邮件传输协议(Simple Mail Transfer Protocol) – RFC 821 • POP - 邮局协议(Post Office Protocol) – RFC 1939 • 其他: – RFC 822 Standard for the Format of ARPA Internet Text Messages – RFCs 1521, 1522 Mime
概 用户代理( User Agent):最终用户邮件 程序 信息传送代理( Message Transfer Agent) 同远程主机通讯,传送或接收邮件(是 客户端也是服务器端) 邮件网关( Mail exchanger):负责一个域 邮件的机器
3 概念 • 用户代理(User Agent): 最终用户邮件 程序 • 信息传送代理(Message Transfer Agent) : 同远程主机通讯,传送或接收邮件(是 客户端也是服务器端) • 邮件网关(Mail Exchanger):负责一个域 邮件的机器
SMTP 使用SMTP协议在邮件服务器( Message Transfer Agents)之间传送邮件信息。 MTA SMTP SMTP MTA e ystem UA UA
4 SMTP 使用SMTP协议在邮件服务器(Message Transfer Agents)之间传送邮件信息。 MTA MTA UA SMTP File System MTA SMTP UA
SMTP协议 SMTP发送者是客户 SMTP接收者是服务器 交互过程 客户向服务器发送命令,服务器对命令进行 响应(回复状态信息)。 命令有先后顺序! 状态信息包括asci编码的数字和文本
5 SMTP 协议 • SMTP发送者是客户 • SMTP接收者是服务器 • 交互过程: – 客户向服务器发送命令,服务器对命令进行 响应(回复状态信息)。 – 命令有先后顺序! – 状态信息包括ascii编码的数字和文本
SMTP命令 HELO-确认发送者 MAIL FROM:-开始一个有事务处理,确认 邮件发送者。 RCPT TO:-确认单独的邮件接收者.可以有 多个 RCPT TO:命令 ·DTA-发送者开始发送多行文本,每一行由 rin结東.用只含有.的单独一行结束文本
6 SMTP 命令 • HELO - 确认发送者 • MAIL FROM: - 开始一个有事务处理,确认 邮件发送者。 • RCPT TO: - 确认单独的邮件接收者. 可以有 多个RCPT TO: 命令. • DATA - 发送者开始发送多行文本, 每一行由 \r\n结束. 用只含有 ‘.’ 的单独一行结束文本
例子 saka dlut. edu. cn# telnet mail. foo. com 25 frying192.168.1.4 Connected to here. foo. com Escape character is IA] 220 here. foo. com ESMTP Sendmail 8.8.8/8.8.8: Sat, 14 Mar199821:28:41-0500(EsT HELO ka. dlut. edu. cn 50 here. foo. com Hello root@ saka dlut. edu. cn [192.168.1.3], pleased to meet you MAILFROM:root@sakadlut.edu.cn 250root@sakadlut.edu.cn Sender ok RcptTo:hollingd@foo.com 250 hollings.. Recipient ok DATA 354 Enter mail end with on a line by itself Hi dave -this message is a test of SMTP 250 VAA07541 Message accepted for delivery
8 saka.dlut.edu.cn# telnet mail.foo.com 25 例子 Trying 192.168.1.4... Connected to here.foo.com. Escape character is '^]'. 220 here.foo.com ESMTP Sendmail 8.8.8/8.8.8; Sat, 14 Mar 1998 21:28:41 -0500 (EST) HELO saka.dlut.edu.cn 250 here.foo.com Hello root@saka.dlut.edu.cn [192.168.1.3], pleased to meet you MAIL FROM: root@saka.dlut.edu.cn 250 root@saka.dlut.edu.cn... Sender ok RCPT TO: hollingd@foo.com 250 hollingd... Recipient ok DATA 354 Enter mail, end with "." on a line by itself Hi dave - this message is a test of SMTP . 250 VAA07541 Message accepted for delivery
Leading period DATA 354 Enter mail, end with on a line by itself Hi dave -this message is a test of SMTP foo 250 VAA0771 Message accepted for delivery 最终信息 Hi dave this message is a test of smtp f。o
9 Leading Period DATA 354 Enter mail, end with "." on a line by itself Hi dave - this message is a test of SMTP .. ..foo .. . 250 VAA0771 Message accepted for delivery • 最终信息: Hi dave - this message is a test of SMTP . .foo
其他命令 VRFY-校验一个用户是否存在 EXPN-展开一个别名(一组邮件地址) TURN-交换角色( (Sender<> receiver) SOML Send or mail 如果接收者在线,在它的终端上显示信息,否则 发送邮件。 SAML Send and mail NOOP-send back a positive reply code RSET-终止处理
10 其他命令 • VRFY - 校验一个用户是否存在. • EXPN - 展开一个别名 (一组邮件地址). • TURN - 交换角色 (sender receiver). • SOML - Send Or Mail – 如果接收者在线,在它的终端上显示信息,否则 发送邮件。 – SAML - Send and Mail • NOOP - send back a positive reply code. • RSET - 终止处理