| draft-klensin-rfc2821bis-10.txt | klensin-changed.txt | |||
|---|---|---|---|---|
| skipping to change at page 24, line 14 | skipping to change at page 24, line 14 | |||
| When a name that is the argument to VRFY could identify more than one | When a name that is the argument to VRFY could identify more than one | |||
| mailbox, the server MAY either note the ambiguity or identify the | mailbox, the server MAY either note the ambiguity or identify the | |||
| alternatives. In other words, any of the following are legitimate | alternatives. In other words, any of the following are legitimate | |||
| responses to VRFY: | responses to VRFY: | |||
| 553 User ambiguous | 553 User ambiguous | |||
| or | or | |||
| 553- Ambiguous; Possibilities are | 553- Ambiguous; Possibilities are | |||
| 553-Joe Smith <jsmith@foo.com> | 553-Joe Smith <jsmith@foo.example.com> | |||
| 553-Harry Smith <hsmith@foo.com> | 553-Harry Smith <hsmith@foo.example.com> | |||
| 553 Melvin Smith <dweep@foo.com> | 553 Melvin Smith <dweep@foo.example.com> | |||
| or | or | |||
| 553-Ambiguous; Possibilities | 553-Ambiguous; Possibilities | |||
| 553- <jsmith@foo.com> | 553- <jsmith@foo.example.com> | |||
| 553- <hsmith@foo.com> | 553- <hsmith@foo.example.com> | |||
| 553 <dweep@foo.com> | 553 <dweep@foo.example.com> | |||
| Under normal circumstances, a client receiving a 553 reply would be | Under normal circumstances, a client receiving a 553 reply would be | |||
| expected to expose the result to the user. Use of exactly the forms | expected to expose the result to the user. Use of exactly the forms | |||
| given, and the "user ambiguous" or "ambiguous" keywords, possibly | given, and the "user ambiguous" or "ambiguous" keywords, possibly | |||
| supplemented by extended reply codes such as those described in | supplemented by extended reply codes such as those described in | |||
| RFC3463 [37], will facilitate automated translation into other | RFC3463 [37], will facilitate automated translation into other | |||
| languages as needed. Of course, a client that was highly automated | languages as needed. Of course, a client that was highly automated | |||
| or that was operating in another language than English, might choose | or that was operating in another language than English, might choose | |||
| to try to translate the response, to return some other indication to | to try to translate the response, to return some other indication to | |||
| the user than the literal text of the reply, or to take some | the user than the literal text of the reply, or to take some | |||
| skipping to change at page 25, line 25 | skipping to change at page 25, line 25 | |||
| functionality, SHOULD accept the "local-part@domain" form as a "user | functionality, SHOULD accept the "local-part@domain" form as a "user | |||
| name"; hosts MAY also choose to recognize other strings as "user | name"; hosts MAY also choose to recognize other strings as "user | |||
| names". | names". | |||
| The case of expanding a mailbox list requires a multiline reply, such | The case of expanding a mailbox list requires a multiline reply, such | |||
| as: | as: | |||
| C: EXPN Example-People | C: EXPN Example-People | |||
| S: 250-Jon Postel <Postel@isi.edu> | S: 250-Jon Postel <Postel@isi.edu> | |||
| S: 250-Fred Fonebone <Fonebone@physics.foo-u.edu> | S: 250-Fred Fonebone <Fonebone@physics.foo-u.edu> | |||
| S: 250 Sam Q. Smith <SQSmith@specific.generic.com> | S: 250 Sam Q. Smith <SQSmith@specific.generic.example.com> | |||
| or | or | |||
| C: EXPN Executive-Washroom-List | C: EXPN Executive-Washroom-List | |||
| S: 550 Access Denied to You. | S: 550 Access Denied to You. | |||
| The character string arguments of the VRFY and EXPN commands cannot | The character string arguments of the VRFY and EXPN commands cannot | |||
| be further restricted due to the variety of implementations of the | be further restricted due to the variety of implementations of the | |||
| user name and mailbox list concepts. On some systems it may be | user name and mailbox list concepts. On some systems it may be | |||
| appropriate for the argument of the EXPN command to be a file name | appropriate for the argument of the EXPN command to be a file name | |||
| skipping to change at page 36, line 29 | skipping to change at page 36, line 29 | |||
| Similarly, relay hosts SHOULD strip or ignore source routes, and | Similarly, relay hosts SHOULD strip or ignore source routes, and | |||
| names MUST NOT be copied into the reverse-path. When mail reaches | names MUST NOT be copied into the reverse-path. When mail reaches | |||
| its ultimate destination (the forward-path contains only a | its ultimate destination (the forward-path contains only a | |||
| destination mailbox), the SMTP server inserts it into the destination | destination mailbox), the SMTP server inserts it into the destination | |||
| mailbox in accordance with its host mail conventions. | mailbox in accordance with its host mail conventions. | |||
| This command appends its forward-path argument to the forward-path | This command appends its forward-path argument to the forward-path | |||
| buffer; it does not change the reverse-path buffer nor the mail data | buffer; it does not change the reverse-path buffer nor the mail data | |||
| buffer. | buffer. | |||
| For example, mail received at relay host xyz.com with envelope | For example, mail received at relay host xyz.example.com with envelope | |||
| commands | commands | |||
| MAIL FROM:<userx@y.foo.org> | MAIL FROM:<userx@y.foo.example.org> | |||
| RCPT TO:<@hosta.int,@jkl.org:userc@d.bar.org> | RCPT TO:<@hosta.int,@jkl.example.org:userc@d.bar.example.org> | |||
| will normally be sent directly on to host d.bar.org with envelope | will normally be sent directly on to host d.bar.example.org with envelope | |||
| commands | commands | |||
| MAIL FROM:<userx@y.foo.org> | MAIL FROM:<userx@y.foo.example.org> | |||
| RCPT TO:<userc@d.bar.org> | RCPT TO:<userc@d.bar.example.org> | |||
| As provided in Appendix C, xyz.com MAY also choose to relay the | As provided in Appendix C, xyz.example.com MAY also choose to relay the | |||
| message to hosta.int, using the envelope commands | message to hosta.int, using the envelope commands | |||
| MAIL FROM:<userx@y.foo.org> | MAIL FROM:<userx@y.foo.example.org> | |||
| RCPT TO:<@hosta.int,@jkl.org:userc@d.bar.org> | RCPT TO:<@hosta.int,@jkl.example.org:userc@d.bar.example.org> | |||
| or to jkl.org, using the envelope commands | or to jkl.example.org, using the envelope commands | |||
| MAIL FROM:<userx@y.foo.org> | MAIL FROM:<userx@y.foo.example.org> | |||
| RCPT TO:<@jkl.org:userc@d.bar.org> | RCPT TO:<@jkl.example.org:userc@d.bar.example.org> | |||
| Attempting to use relaying this way is now strongly discouraged. | Attempting to use relaying this way is now strongly discouraged. | |||
| Since hosts are not required to relay mail at all, xyz.com MAY also | Since hosts are not required to relay mail at all, xyz.example.com MAY also | |||
| reject the message entirely when the RCPT command is received, using | reject the message entirely when the RCPT command is received, using | |||
| a 550 code (since this is a "policy reason"). | a 550 code (since this is a "policy reason"). | |||
| If service extensions were negotiated, the RCPT command may also | If service extensions were negotiated, the RCPT command may also | |||
| carry parameters associated with a particular service extension | carry parameters associated with a particular service extension | |||
| offered by the server. The client MUST NOT transmit parameters other | offered by the server. The client MUST NOT transmit parameters other | |||
| than those associated with a service extension offered by the server | than those associated with a service extension offered by the server | |||
| in its EHLO response. | in its EHLO response. | |||
| Syntax: | Syntax: | |||
| skipping to change at page 55, line 8 | skipping to change at page 55, line 8 | |||
| fully-qualified primary domain name) of the server host as the first | fully-qualified primary domain name) of the server host as the first | |||
| word following the reply code. Sometimes the host will have no | word following the reply code. Sometimes the host will have no | |||
| meaningful name. See Section 4.1.3 for a discussion of alternatives | meaningful name. See Section 4.1.3 for a discussion of alternatives | |||
| in these situations. | in these situations. | |||
| For example, | For example, | |||
| 220 ISIF.USC.EDU Service ready | 220 ISIF.USC.EDU Service ready | |||
| or | or | |||
| 220 mail.example.com SuperSMTP v 6.1.2 Service ready | 220 mail.example.example.com SuperSMTP v 6.1.2 Service ready | |||
| or | or | |||
| 220 [10.0.0.1] Clueless host service ready | 220 [10.0.0.1] Clueless host service ready | |||
| The table below lists alternative success and failure replies for | The table below lists alternative success and failure replies for | |||
| each command. These SHOULD be strictly adhered to. A receiver MAY | each command. These SHOULD be strictly adhered to. A receiver MAY | |||
| substitute text in the replies, but the meanings and actions implied | substitute text in the replies, but the meanings and actions implied | |||
| by the code numbers and by the specific command reply sequence MUST | by the code numbers and by the specific command reply sequence MUST | |||
| be preserved. | be preserved. | |||
| skipping to change at page 84, line 43 | skipping to change at page 84, line 43 | |||
| [43] Fenton, J., "Analysis of Threats Motivating DomainKeys | [43] Fenton, J., "Analysis of Threats Motivating DomainKeys | |||
| Identified Mail (DKIM)", RFC 4686, September 2006. | Identified Mail (DKIM)", RFC 4686, September 2006. | |||
| [44] Allman, E., Callas, J., Delany, M., Libbey, M., Fenton, J., and | [44] Allman, E., Callas, J., Delany, M., Libbey, M., Fenton, J., and | |||
| M. Thomas, "DomainKeys Identified Mail (DKIM) Signatures", | M. Thomas, "DomainKeys Identified Mail (DKIM) Signatures", | |||
| RFC 4871, May 2007. | RFC 4871, May 2007. | |||
| [45] Internet Assigned Number Authority (IANA), "IANA Mail | [45] Internet Assigned Number Authority (IANA), "IANA Mail | |||
| Parameters", 2007, | Parameters", 2007, | |||
| <http://www.iana.org/assignments/mail-parameters>. | <http://www.iana.example.org/assignments/mail-parameters>. | |||
| [46] Internet Assigned Number Authority (IANA), "Address Literal | [46] Internet Assigned Number Authority (IANA), "Address Literal | |||
| Tags", 2007, | Tags", 2007, | |||
| <http://www.iana.org/assignments/address-literal-tags>. | <http://www.iana.org/assignments/address-literal-tags>. | |||
| Appendix A. TCP Transport Service | Appendix A. TCP Transport Service | |||
| The TCP connection supports the transmission of 8-bit bytes. The | The TCP connection supports the transmission of 8-bit bytes. The | |||
| SMTP data is 7-bit ASCII characters. Each character is transmitted | SMTP data is 7-bit ASCII characters. Each character is transmitted | |||
| as an 8-bit byte with the high-order bit cleared to zero. Service | as an 8-bit byte with the high-order bit cleared to zero. Service | |||
| skipping to change at page 87, line 39 | skipping to change at page 87, line 39 | |||
| entirely and simply use the domain as specified in the Mailbox. | entirely and simply use the domain as specified in the Mailbox. | |||
| Appendix D. Scenarios | Appendix D. Scenarios | |||
| This section presents complete scenarios of several types of SMTP | This section presents complete scenarios of several types of SMTP | |||
| sessions. In the examples, "C:" indicates what is said by the SMTP | sessions. In the examples, "C:" indicates what is said by the SMTP | |||
| client, and "S:" indicates what is said by the SMTP server. | client, and "S:" indicates what is said by the SMTP server. | |||
| D.1. A Typical SMTP Transaction Scenario | D.1. A Typical SMTP Transaction Scenario | |||
| This SMTP example shows mail sent by Smith at host bar.com, to Jones, | This SMTP example shows mail sent by Smith at host bar.example.com, to Jones, | |||
| Green, and Brown at host foo.com. Here we assume that host bar.com | Green, and Brown at host foo.example.com. Here we assume that host bar.example.com | |||
| contacts host foo.com directly. The mail is accepted for Jones and | contacts host foo.example.com directly. The mail is accepted for Jones and | |||
| Brown. Green does not have a mailbox at host foo.com. | Brown. Green does not have a mailbox at host foo.example.com. | |||
| S: 220 foo.com Simple Mail Transfer Service Ready | S: 220 foo.example.com Simple Mail Transfer Service Ready | |||
| C: EHLO bar.com | C: EHLO bar.example.com | |||
| S: 250-foo.com greets bar.com | S: 250-foo.example.com greets bar.example.com | |||
| S: 250-8BITMIME | S: 250-8BITMIME | |||
| S: 250-SIZE | S: 250-SIZE | |||
| S: 250-DSN | S: 250-DSN | |||
| S: 250 HELP | S: 250 HELP | |||
| C: MAIL FROM:<Smith@bar.com> | C: MAIL FROM:<Smith@bar.example.com> | |||
| S: 250 OK | S: 250 OK | |||
| C: RCPT TO:<Jones@foo.com> | C: RCPT TO:<Jones@foo.example.com> | |||
| S: 250 OK | S: 250 OK | |||
| C: RCPT TO:<Green@foo.com> | C: RCPT TO:<Green@foo.example.com> | |||
| S: 550 No such user here | S: 550 No such user here | |||
| C: RCPT TO:<Brown@foo.com> | C: RCPT TO:<Brown@foo.example.com> | |||
| S: 250 OK | S: 250 OK | |||
| C: DATA | C: DATA | |||
| S: 354 Start mail input; end with <CRLF>.<CRLF> | S: 354 Start mail input; end with <CRLF>.<CRLF> | |||
| C: Blah blah blah... | C: Blah blah blah... | |||
| C: ...etc. etc. etc. | C: ...etc. etc. etc. | |||
| C: . | C: . | |||
| S: 250 OK | S: 250 OK | |||
| C: QUIT | C: QUIT | |||
| S: 221 foo.com Service closing transmission channel | S: 221 foo.example.com Service closing transmission channel | |||
| D.2. Aborted SMTP Transaction Scenario | D.2. Aborted SMTP Transaction Scenario | |||
| S: 220 foo.com Simple Mail Transfer Service Ready | S: 220 foo.example.com Simple Mail Transfer Service Ready | |||
| C: EHLO bar.com | C: EHLO bar.example.com | |||
| S: 250-foo.com greets bar.com | S: 250-foo.example.com greets bar.example.com | |||
| S: 250-8BITMIME | S: 250-8BITMIME | |||
| S: 250-SIZE | S: 250-SIZE | |||
| S: 250-DSN | S: 250-DSN | |||
| S: 250 HELP | S: 250 HELP | |||
| C: MAIL FROM:<Smith@bar.com> | C: MAIL FROM:<Smith@bar.example.com> | |||
| S: 250 OK | S: 250 OK | |||
| C: RCPT TO:<Jones@foo.com> | C: RCPT TO:<Jones@foo.example.com> | |||
| S: 250 OK | S: 250 OK | |||
| C: RCPT TO:<Green@foo.com> | C: RCPT TO:<Green@foo.example.com> | |||
| S: 550 No such user here | S: 550 No such user here | |||
| C: RSET | C: RSET | |||
| S: 250 OK | S: 250 OK | |||
| C: QUIT | C: QUIT | |||
| S: 221 foo.com Service closing transmission channel | S: 221 foo.example.com Service closing transmission channel | |||
| D.3. Relayed Mail Scenario | D.3. Relayed Mail Scenario | |||
| Step 1 -- Source Host to Relay Host | Step 1 -- Source Host to Relay Host | |||
| The source host performs a DNS lookup on XYZ.COM (the destination | The source host performs a DNS lookup on XYZ.EXAMPLE.COM (the destination | |||
| address) and finds DNS MX records specifying xyz.com as the best | address) and finds DNS MX records specifying xyz.example.com as the best | |||
| preference and foo.com as a lower preference. It attempts to open a | preference and foo.example.com as a lower preference. It attempts to open a | |||
| connection to xyz.com and fails. It then opens a connection to | connection to xyz.example.com and fails. It then opens a connection to | |||
| foo.com, with the following dialogue: | foo.example.com, with the following dialogue: | |||
| S: 220 foo.com Simple Mail Transfer Service Ready | S: 220 foo.example.com Simple Mail Transfer Service Ready | |||
| C: EHLO bar.com | C: EHLO bar.example.com | |||
| S: 250-foo.com greets bar.com | S: 250-foo.example.com greets bar.example.com | |||
| S: 250-8BITMIME | S: 250-8BITMIME | |||
| S: 250-SIZE | S: 250-SIZE | |||
| S: 250-DSN | S: 250-DSN | |||
| S: 250 HELP | S: 250 HELP | |||
| C: MAIL FROM:<JQP@bar.com> | C: MAIL FROM:<JQP@bar.example.com> | |||
| S: 250 OK | S: 250 OK | |||
| C: RCPT TO:<Jones@XYZ.COM> | C: RCPT TO:<Jones@XYZ.EXAMPLE.COM> | |||
| S: 250 OK | S: 250 OK | |||
| C: DATA | C: DATA | |||
| S: 354 Start mail input; end with <CRLF>.<CRLF> | S: 354 Start mail input; end with <CRLF>.<CRLF> | |||
| C: Date: Thu, 21 May 1998 05:33:29 -0700 | C: Date: Thu, 21 May 1998 05:33:29 -0700 | |||
| C: From: John Q. Public <JQP@bar.com> | C: From: John Q. Public <JQP@bar.example.com> | |||
| C: Subject: The Next Meeting of the Board | C: Subject: The Next Meeting of the Board | |||
| C: To: Jones@xyz.com | C: To: Jones@xyz.example.com | |||
| C: | C: | |||
| C: Bill: | C: Bill: | |||
| C: The next meeting of the board of directors will be | C: The next meeting of the board of directors will be | |||
| C: on Tuesday. | C: on Tuesday. | |||
| C: John. | C: John. | |||
| C: . | C: . | |||
| S: 250 OK | S: 250 OK | |||
| C: QUIT | C: QUIT | |||
| S: 221 foo.com Service closing transmission channel | S: 221 foo.example.com Service closing transmission channel | |||
| Step 2 -- Relay Host to Destination Host | Step 2 -- Relay Host to Destination Host | |||
| foo.com, having received the message, now does a DNS lookup on | foo.example.com, having received the message, now does a DNS lookup on | |||
| xyz.com. It finds the same set of MX records, but cannot use the one | xyz.example.com. It finds the same set of MX records, but cannot use the one | |||
| that points to itself (or to any other host as a worse preference). | that points to itself (or to any other host as a worse preference). | |||
| It tries to open a connection to xyz.com itself and succeeds. Then | It tries to open a connection to xyz.example.com itself and succeeds. Then | |||
| we have: | we have: | |||
| S: 220 xyz.com Simple Mail Transfer Service Ready | S: 220 xyz.example.com Simple Mail Transfer Service Ready | |||
| C: EHLO foo.com | C: EHLO foo.example.com | |||
| S: 250 xyz.com is on the air | S: 250 xyz.example.com is on the air | |||
| C: MAIL FROM:<JQP@bar.com> | C: MAIL FROM:<JQP@bar.example.com> | |||
| S: 250 OK | S: 250 OK | |||
| C: RCPT TO:<Jones@XYZ.COM> | C: RCPT TO:<Jones@XYZ.EXAMPLE.COM> | |||
| S: 250 OK | S: 250 OK | |||
| C: DATA | C: DATA | |||
| S: 354 Start mail input; end with <CRLF>.<CRLF> | S: 354 Start mail input; end with <CRLF>.<CRLF> | |||
| C: 05:33:29 -0700 | C: 05:33:29 -0700 | |||
| C: Date: Thu, 21 May 1998 05:33:22 -0700 | C: Date: Thu, 21 May 1998 05:33:22 -0700 | |||
| C: From: John Q. Public <JQP@bar.com> | C: From: John Q. Public <JQP@bar.example.com> | |||
| C: Subject: The Next Meeting of the Board | C: Subject: The Next Meeting of the Board | |||
| C: To: Jones@xyz.com | C: To: Jones@xyz.example.com | |||
| C: | C: | |||
| C: Bill: | C: Bill: | |||
| C: The next meeting of the board of directors will be | C: The next meeting of the board of directors will be | |||
| C: on Tuesday. | C: on Tuesday. | |||
| C: John. | C: John. | |||
| C: . | C: . | |||
| S: 250 OK | S: 250 OK | |||
| C: QUIT | C: QUIT | |||
| S: 221 foo.com Service closing transmission channel | S: 221 foo.example.com Service closing transmission channel | |||
| D.4. Verifying and Sending Scenario | D.4. Verifying and Sending Scenario | |||
| S: 220 foo.com Simple Mail Transfer Service Ready | S: 220 foo.example.com Simple Mail Transfer Service Ready | |||
| C: EHLO bar.com | C: EHLO bar.example.com | |||
| S: 250-foo.com greets bar.com | S: 250-foo.example.com greets bar.example.com | |||
| S: 250-8BITMIME | S: 250-8BITMIME | |||
| S: 250-SIZE | S: 250-SIZE | |||
| S: 250-DSN | S: 250-DSN | |||
| S: 250-VRFY | S: 250-VRFY | |||
| S: 250 HELP | S: 250 HELP | |||
| C: VRFY Crispin | C: VRFY Crispin | |||
| S: 250 Mark Crispin <Admin.MRC@foo.com> | S: 250 Mark Crispin <Admin.MRC@foo.example.com> | |||
| C: MAIL FROM:<EAK@bar.com> | C: MAIL FROM:<EAK@bar.example.com> | |||
| S: 250 OK | S: 250 OK | |||
| C: RCPT TO:<Admin.MRC@foo.com> | C: RCPT TO:<Admin.MRC@foo.example.com> | |||
| S: 250 OK | S: 250 OK | |||
| C: DATA | C: DATA | |||
| S: 354 Start mail input; end with <CRLF>.<CRLF> | S: 354 Start mail input; end with <CRLF>.<CRLF> | |||
| C: Blah blah blah... | C: Blah blah blah... | |||
| C: ...etc. etc. etc. | C: ...etc. etc. etc. | |||
| C: . | C: . | |||
| S: 250 OK | S: 250 OK | |||
| C: QUIT | C: QUIT | |||
| S: 221 foo.com Service closing transmission channel | S: 221 foo.example.com Service closing transmission channel | |||
| Appendix E. Other Gateway Issues | Appendix E. Other Gateway Issues | |||
| In general, gateways between the Internet and other mail systems | In general, gateways between the Internet and other mail systems | |||
| SHOULD attempt to preserve any layering semantics across the | SHOULD attempt to preserve any layering semantics across the | |||
| boundaries between the two mail systems involved. Gateway- | boundaries between the two mail systems involved. Gateway- | |||
| translation approaches that attempt to take shortcuts by mapping | translation approaches that attempt to take shortcuts by mapping | |||
| (such as mapping envelope information from one system to the message | (such as mapping envelope information from one system to the message | |||
| header section or body of another) have generally proven to be | header section or body of another) have generally proven to be | |||
| inadequate in important ways. Systems translating between | inadequate in important ways. Systems translating between | |||
| End of changes. 44 change blocks. | ||||
| 72 lines changed or deleted | 72 lines changed or added | |||
This html diff was produced by rfcdiff 1.32. The latest version is available from http://www.levkowetz.com/ietf/tools/rfcdiff/ | ||||