Приложение D. Сценарии
В этом приложении приведено несколько примеров полных сценариев сеансов SMTP. Знаком C: обозначается отправитель (клиент SMTP), а знаком S: — сервер SMTP.
D.1. Сценарий типовой транзакции SMTP
Рассматриваемый ниже пример показывает передачу сообщения, отправленного Смитом (Smith) с хоста bar.com адресатам Jones, Green, Brown на foo.com. Предполагается, что bar.com контактирует с foo.com напрямую. Почта для Jones и Brown принимается, а Green не имеет почтового ящика на foo.com.
S: 220 foo.com Simple Mail Transfer Service Ready C: EHLO bar.com S: 250-foo.com greets bar.com S: 250-8BITMIME S: 250-SIZE S: 250-DSN S: 250 HELP C: MAIL FROM:<[email protected] > S: 250 OK C: RCPT TO:<[email protected] > S: 250 OK C: RCPT TO:<[email protected] > S: 550 No such user here C: RCPT TO:<[email protected] > S: 250 OK C: DATA S: 354 Start mail input; end with <CRLF>.<CRLF> C: Blah blah blah... C: ...etc. etc. etc. C: . S: 250 OK C: QUIT S: 221 foo.com Service closing transmission channel
D.2. Сценарий прерванной транзакции SMTP
S: 220 foo.com Simple Mail Transfer Service Ready C: EHLO bar.com S: 250-foo.com greets bar.com S: 250-8BITMIME S: 250-SIZE S: 250-DSN S: 250 HELP C: MAIL FROM:<[email protected] > S: 250 OK C: RCPT TO:<[email protected] > S: 250 OK C: RCPT TO:<[email protected] oo.com> S: 550 No such user here C: RSET S: 250 OK C: QUIT S: 221 foo.com Service closing transmission channel
D.3. Сценарий с трансляцией
Этап 1 — Отправитель -> транслятор.
Хост-отправитель запрашивает у DNS данные для XYZ.COM (адрес получателя) и получает записи DNS MX, указывающие xyz.com, как наиболее предпочтительный хост, а foo.com — как наименее предпочтительный. Отправитель пытается соединиться с xyz.com, но терпит неудачу. Тогда он организует соединение с foo.com, сценарий которого показан ниже:
S: 220 foo.com Simple Mail Transfer Service Ready C: EHLO bar.com S: 250-foo.com greets bar.com S: 250-8BITMIME S: 250-SIZE S: 250-DSN S: 250 HELP C: MAIL FROM:<[email protected] > S: 250 OK C: RCPT TO:<[email protected] > S: 250 OK C: DATA S: 354 Start mail input; end with <CRLF>.<CRLF> C: Date: Thu, 21 May 1998 05:33:29 -0700 C: From: John Q. Public <[email protected] > C: Subject: The Next Meeting of the Board C: To: [email protected] C: C: Bill: C: The next meeting of the board of directors will be C: on Tuesday. C: John. C: . S: 250 OK C: QUIT S: 221 foo.com Service closing transmission channel
Этап 2 — Транслятор -> хост получателя
Хост foo.com, получивший сообщение, запрашивает у DNS данные для xyz.com. Он получает такой же набор записей MX, но не может использовать ни свой адрес, ни любой адрес из списка, который менее предпочтителен, по сравнению с xyz.com. Тогда транслятор организует соединение с xyz.com:
S: 220 xyz.com Simple Mail Transfer Service Ready C: EHLO foo.com S: 250 xyz.com is on the air C: MAIL FROM:<[email protected] > S: 250 OK C: RCPT TO:<[email protected] > S: 250 OK C: DATA S: 354 Start mail input; end with <CRLF>.<CRLF> C: Received: from bar.com by foo.com ; Thu, 21 May 1998 C: 05:33:29 -0700 C: Date: Thu, 21 May 1998 05:33:22 -0700 C: From: John Q. Public <[email protected] > C: Subject: The Next Meeting of the Board C: To: [email protected] C: C: Bill: C: The next meeting of the board of directors will be C: on Tuesday. C: John. C: . S: 250 OK C: QUIT S: 221 foo.com Service closing transmission channel
D.4. Сценарий проверки и передачи
S: 220 foo.com Simple Mail Transfer Service Ready C: EHLO bar.com S: 250-foo.com greets bar.com S: 250-8BITMIME S: 250-SIZE S: 250-DSN S: 250-VRFY S: 250 HELP C: VRFY Crispin S: 250 Mark Crispin <[email protected] > C: MAIL FROM:<[email protected] > S: 250 OK C: RCPT TO:<[email protected] > S: 250 OK C: DATA S: 354 Start mail input; end with <CRLF>.<CRLF> C: Blah blah blah... C: ...etc. etc. etc. C: . S: 250 OK C: QUIT S: 221 foo.com Service closing transmission channel