1
2
3
4
5
6
7Network Working Group T. Hansen
8Request for Comments: 5248 AT&T Laboratories
9BCP: 138 J. Klensin
10Updates: 3463, 4468, 4954 June 2008
11Category: Best Current Practice
12
13
14 A Registry for SMTP Enhanced Mail System Status Codes
15
16Status of This Memo
17
18 This document specifies an Internet Best Current Practices for the
19 Internet Community, and requests discussion and suggestions for
20 improvements. Distribution of this memo is unlimited.
21
22Abstract
23
24 The specification for enhanced mail system status codes, RFC 3463,
25 establishes a new code model and lists a collection of status codes.
26 While it anticipated that more codes would be added over time, it did
27 not provide an explicit mechanism for registering and tracking those
28 codes. This document specifies an IANA registry for mail system
29 enhanced status codes, and initializes that registry with the codes
30 so far established in published standards-track documents, as well as
31 other codes that have become established in the industry.
32
33Table of Contents
34
35 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
36 2. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 2
37 2.1. SMTP Enhanced Status Codes Registry . . . . . . . . . . . . 2
38 2.2. Review Process for New Values . . . . . . . . . . . . . . . 4
39 2.3. Registration Updates . . . . . . . . . . . . . . . . . . . 4
40 2.4. Initial Values . . . . . . . . . . . . . . . . . . . . . . 5
41 3. Security Considerations . . . . . . . . . . . . . . . . . . . . 8
42 4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 9
43 5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9
44 5.1. Normative References . . . . . . . . . . . . . . . . . . . 9
45 5.2. Informative References . . . . . . . . . . . . . . . . . . 9
46
47
48
49
50
51
52
53
54
55
56
57
58Hansen & Klensin Best Current Practice [Page 1]
59
60RFC 5248 SMTP Enhanced Status Code Registry June 2008
61
62
631. Introduction
64
65 Enhanced Status Codes for SMTP were first defined in [RFC1893], which
66 was subsequently replaced by [RFC3463]. While it anticipated that
67 more codes would be added over time (see section 2 of [RFC3463]), it
68 did not provide an explicit mechanism for registering and tracking
69 those codes. Since then, various RFCs have been published and
70 internet drafts proposed that define additional status codes.
71 However, without an IANA registry, conflicts in definitions have
72 begun to appear.
73
74 This RFC defines such an IANA registry and was written to help
75 prevent further conflicts from appearing in the future. It
76 initializes the registry with the established standards-track
77 enhanced status codes from [RFC3463], [RFC3886], [RFC4468], and
78 [RFC4954]. In addition, this document adds several codes to the
79 registry that were established by various internet drafts and have
80 come into common use, despite the expiration of the documents
81 themselves.
82
83 As specified in [RFC3463], an enhanced status code consists of a
84 three-part code, with each part being numeric and separated by a
85 period character. The three portions are known as the class sub-
86 code, the subject sub-code, and the detail sub-code. In the tables,
87 a wildcard for the class sub-code is represented by an X, a wildcard
88 for a subject sub-code is represented by an XXX, and a wildcard for a
89 detail sub-code is represented by a YYY. For example, 3.XXX.YYY has
90 an unspecified subject sub-code and an unspecified status code, and
91 X.5.0 is has an unspecified class sub-code. (This is a change from
92 [RFC3463], which uses XXX for both the subject sub-code and detail
93 sub-code wildcards.)
94
952. IANA Considerations
96
972.1. SMTP Enhanced Status Codes Registry
98
99 IANA has created the registry "SMTP Enhanced Status Codes". The SMTP
100 Enhanced Status Codes registry will have three tables:
101
102 o Class Sub-Codes
103 Each of the entries in this table represent class sub-codes and
104 all have an unspecified subject sub-code and an unspecified detail
105 sub-code.
106
107 o Subject Sub-Codes
108 Each of the entries in this table represent subject sub-codes and
109 all have an unspecified class sub-code and an unspecified detail
110 sub-code.
111
112
113
114Hansen & Klensin Best Current Practice [Page 2]
115
116RFC 5248 SMTP Enhanced Status Code Registry June 2008
117
118
119 o Enumerated Status Codes
120 Each of the entries in this table represent the combination of a
121 subject sub-code and a detail sub-code. All entries will have an
122 unspecified class sub-code, a specified subject sub-code, and a
123 specified detail sub-code.
124
125 Each entry in the tables will include the following. (The sub-code
126 tables will not have the Associated Basic Status Code entries.)
127
128 Code: The status code. For example,
129 3.XXX.YYY is a class sub-code with an
130 unspecified subject sub-code and an
131 unspecified detail sub-code, and X.5.0
132 is an enumerated status code with an
133 unspecified class sub-code.
134
135 Summary: or Sample Text: For class and subject sub-codes, this
136 is the summary of the use for the sub-
137 code shown in section 2 of [RFC3463].
138 For enumerated status codes, this is an
139 example of a message that might be sent
140 along with the code.
141
142 Associated Basic Status Code: For enumerated status codes, the basic
143 status code(s) of [RFC2821] with which
144 it is usually associated. This may
145 also have a value such as "Any" or "Not
146 given". NOTE: This is a non-exclusive
147 list. In particular, the entries that
148 list some basic status codes for an
149 Enhanced Status Code might allow for
150 other basic status codes, while the
151 entries denoted "Not given" can be
152 filled in by updating the IANA registry
153 through updates to this document or at
154 the direction of the IESG.
155
156 Description: A short description of the code.
157
158 Reference: A reference to the document in which
159 the code is defined. This reference
160 should note whether the relevant
161 specification is standards-track, best
162 current practice, or neither, using one
163 of "(Standards track)", "(Best current
164 practice)" or "(Not standards track)".
165
166
167
168
169
170Hansen & Klensin Best Current Practice [Page 3]
171
172RFC 5248 SMTP Enhanced Status Code Registry June 2008
173
174
175 Submitter: The identity of the submitter, usually
176 the document author.
177
178 Change Controller: The identity of the change controller
179 for the specification. This will be
180 "IESG" in the case of IETF-produced
181 documents.
182
183 An example of an entry in the enumerated status code table would be:
184
185 Code: X.0.0
186 Sample Text: Other undefined Status
187 Associated basic status code: Any
188 Description: Other undefined status is the only undefined
189 error code. It should be used for all errors for
190 which only the class of the error is known.
191 Reference: RFC 3463 (Standards track)
192 Submitter: G. Vaudreuil
193 Change controller: IESG.
194
1952.2. Review Process for New Values
196
197 Entries in this registry are expected to follow the "Specification
198 Required" model ([RFC5226]) although, in practice, most entries are
199 expected to derive from standards-track documents. Non-standards-
200 track documents that specify codes to be registered should be readily
201 available. The principal purpose of this registry is to avoid
202 confusion and conflicts among different definitions or uses for the
203 same code.
204
2052.3. Registration Updates
206
207 Standards-track registrations may be updated if the relevant
208 standards are updated as a consequence of that action. Non-
209 standards-track entries may be updated by the listed change
210 controller. Only the entry's short description or references may be
211 modified in this way, not the code or associated text. In
212 exceptional cases, any aspect of any registered entity may be updated
213 at the direction of the IESG (for example, to correct a conflict).
214
215
216
217
218
219
220
221
222
223
224
225
226Hansen & Klensin Best Current Practice [Page 4]
227
228RFC 5248 SMTP Enhanced Status Code Registry June 2008
229
230
2312.4. Initial Values
232
233 The initial values for the class and subject sub-code tables are to
234 be populated from section 2 of [RFC3463]. Specifically, these are
235 the values for 2.XXX.YYY, 4.XXX.YYY, and 5.XXX.YYY for the Class Sub-
236 Code table, and the values X.0.YYY, X.1.YYY, X.2.YYY, X.3.YYY,
237 X.4.YYY, X.5.YYY, X.6.YYY, and X.7.YYY for the Subject Sub-Code
238 table. The code, sample text, and description for each entry are to
239 be taken from [RFC3463]. Each entry is to use [RFC3463] as the
240 reference, submitted by G. Vaudreuil, and change controlled by the
241 IESG. There are no associated detail sub-code values for the class
242 and subject sub-code tables.
243
244 The initial values for the Enumerated Status Code table is to be
245 populated from:
246
247 1. sections 3.1 through 3.8 of [RFC3463], (X.0.0, X.1.0 through
248 X.1.8, X.2.0 through X.2.4, X.3.0 through X.3.5, X.4.0 through
249 X.4.7, X.5.0 through X.5.5, X.6.0 through X.6.5, and X.7.0
250 through X.7.7),
251
252 2. section 3.3.4 of [RFC3886] (X.1.9),
253
254 3. X.6.6 found in section 5 of [RFC4468], (but not X.7.8 found in
255 the same section),
256
257 4. and X.5.6, X.7.8, X.7.9, X.7.11, and X.7.12, found in section 6
258 of [RFC4954] (using the text from X.5.6, 5.7.8, 5.7.9, 5.7.11,
259 and 4.7.12).
260
261 Each entry is to be designated as defined in the corresponding RFC,
262 submitted by the corresponding RFC author, and change controlled by
263 the IESG. Each of the above RFCs is a standards-track document.
264
265 The initial values for the Associated Basic Status Code for each of
266 the above initial enhanced status codes is given in the following
267 table.
268
269 As noted above, this table is incomplete. In particular, the entries
270 that have some basic status codes might allow for other detail sub-
271 status codes, while the entries denoted "Not given" can be filled in
272 by updating the IANA registry through updates to this document or at
273 the direction of the IESG.
274
275
276
277
278
279
280
281
282Hansen & Klensin Best Current Practice [Page 5]
283
284RFC 5248 SMTP Enhanced Status Code Registry June 2008
285
286
287 +--------+---------------+--------+----------+--------+-------------+
288 | Enh. | Assoc. Basic | Enh. | Assoc. | Enh. | Assoc. |
289 | Status | Status Code | Status | Basic | Status | Basic |
290 | Code | | Code | Status | Code | Status Code |
291 | | | | Code | | |
292 +--------+---------------+--------+----------+--------+-------------+
293 | X.0.0 | Any | X.1.0 | Not | X.1.1 | 451, 550 |
294 | | | | given | | |
295 | X.1.2 | Not given | X.1.3 | 501 | X.1.4 | Not given |
296 | X.1.5 | 250 | X.1.6 | Not | X.1.7 | Not given |
297 | | | | given | | |
298 | X.1.8 | 451, 501 | X.1.9 | Not | X.2.0 | Not given |
299 | | | | given | | |
300 | X.2.1 | Not given | X.2.2 | 552 | X.2.3 | 552 |
301 | X.2.4 | 450, 452 | X.3.0 | 221, | X.3.1 | 452 |
302 | | | | 250, | | |
303 | | | | 421, | | |
304 | | | | 451, | | |
305 | | | | 550, 554 | | |
306 | X.3.2 | 453 | X.3.3 | Not | X.3.4 | 552, 554 |
307 | | | | given | | |
308 | X.3.5 | Not given | X.4.0 | Not | X.4.1 | 451 |
309 | | | | given | | |
310 | X.4.2 | 421 | X.4.3 | 451, 550 | X.4.4 | Not given |
311 | X.4.5 | 451 | X.4.6 | Not | X.4.7 | Not given |
312 | | | | given | | |
313 | X.5.0 | 220, 250, | X.5.1 | 430, | X.5.2 | 500, 501, |
314 | | 251, 252, | | 500, | | 502, 550, |
315 | | 253, 451, | | 501, | | 555 |
316 | | 452, 454, | | 503, | | |
317 | | 458, 459, | | 530, | | |
318 | | 501, 502, | | 550, | | |
319 | | 503, 554 | | 554, 555 | | |
320 | X.5.3 | 451 | X.5.4 | 451, | X.5.5 | Not given |
321 | | | | 501, | | |
322 | | | | 502, | | |
323 | | | | 503, | | |
324 | | | | 504, | | |
325 | | | | 550, 555 | | |
326 | X.5.6 | 500 | X.6.0 | Not | X.6.1 | Not given |
327 | | | | given | | |
328 | X.6.2 | Not given | X.6.3 | 554 | X.6.4 | 250 |
329 | X.6.5 | Not given | X.6.6 | 554 | X.7.0 | 220, 235, |
330 | | | | | | 450, 454, |
331 | | | | | | 500, 501, |
332 | | | | | | 503, 504, |
333 | | | | | | 530, 535, |
334 | | | | | | 550 |
335
336
337
338Hansen & Klensin Best Current Practice [Page 6]
339
340RFC 5248 SMTP Enhanced Status Code Registry June 2008
341
342
343 | X.7.1 | 451, 454, | X.7.2 | 550 | X.7.3 | Not given |
344 | | 502, 503, | | | | |
345 | | 533, 550, 551 | | | | |
346 | X.7.4 | 504 | X.7.5 | Not | X.7.6 | Not given |
347 | | | | given | | |
348 | X.7.7 | Not given | X.7.8 | 535, 554 | X.7.9 | 534 |
349 | X.7.10 | 523 | X.7.11 | 524, 538 | X.7.12 | 422, 432 |
350 | X.7.13 | 525 | X.7.14 | 535, 554 | | |
351 +--------+---------------+--------+----------+--------+-------------+
352
353 Table 1
354
355 The following additional definitions have been registered in the
356 enumerated status code table. These entries have been used in the
357 industry without any published specification.
358
359 Code: X.7.10 ../smtp/codes.go:130
360 Sample Text: Encryption Needed
361 Associated basic status code: 523
362 Description: This indicates that an external strong privacy
363 layer is needed in order to use the requested
364 authentication mechanism. This is primarily
365 intended for use with clear text authentication
366 mechanisms. A client that receives this may
367 activate a security layer such as TLS prior to
368 authenticating, or attempt to use a stronger
369 mechanism.
370 Reference: RFC 5248 (Best current practice)
371 Submitter: T. Hansen, J. Klensin
372 Change controller: IESG
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394Hansen & Klensin Best Current Practice [Page 7]
395
396RFC 5248 SMTP Enhanced Status Code Registry June 2008
397
398
399 Code: X.7.13 ../smtp/codes.go:133
400 Sample Text: User Account Disabled
401 Associated basic status code: 525
402 Description: Sometimes a system administrator will have to
403 disable a user's account (e.g., due to lack of
404 payment, abuse, evidence of a break-in attempt,
405 etc.). This error code occurs after a successful
406 authentication to a disabled account. This
407 informs the client that the failure is permanent
408 until the user contacts their system
409 administrator to get the account re-enabled. It
410 differs from a generic authentication failure
411 where the client's best option is to present the
412 passphrase entry dialog in case the user simply
413 mistyped their passphrase.
414 Reference: RFC 5248 (Best current practice)
415 Submitter: T. Hansen, J. Klensin
416 Change controller: IESG
417
418 Code: X.7.14 ../smtp/codes.go:134
419 Sample Text: Trust relationship required
420 Associated basic status code: 535, 554
421 Description: The submission server requires a configured trust
422 relationship with a third-party server in order
423 to access the message content. This value
424 replaces the prior use of X.7.8 for this error
425 condition, thereby updating [RFC4468].
426 Reference: RFC 5248 (Best current practice)
427 Submitter: T. Hansen, J. Klensin
428 Change controller: IESG
429
4303. Security Considerations
431
432 As stated in [RFC1893], use of enhanced status codes may disclose
433 additional information about how an internal mail system is
434 implemented beyond that available through the SMTP status codes.
435
436 Many proposed additions to the response code list are security
437 related. Having these registered in one place to prevent collisions
438 will improve their value. Security error responses can leak
439 information to active attackers (e.g., the distinction between "user
440 not found" and "bad password" during authentication). Documents
441 defining security error codes should make it clear when this is the
442 case so SMTP server software subject to such threats can provide
443 appropriate controls to restrict exposure.
444
445
446
447
448
449
450Hansen & Klensin Best Current Practice [Page 8]
451
452RFC 5248 SMTP Enhanced Status Code Registry June 2008
453
454
4554. Acknowledgements
456
457 While the need for this registry should have become clear shortly
458 after [RFC3463] was approved, the growth of the code table through
459 additional documents and work done as part of email
460 internationalization and [RFC2821] updating efforts made the
461 requirement much more clear. The comments of the participants in
462 those efforts are gratefully acknowledged, particularly the members
463 of the ietf-smtp@imc.org mailing list. Chris Newman and Randy
464 Gellens provided useful comments and some text for early versions of
465 the document.
466
4675. References
468
4695.1. Normative References
470
471 [RFC2821] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821,
472 April 2001.
473
474 [RFC3463] Vaudreuil, G., "Enhanced Mail System Status Codes",
475 RFC 3463, January 2003.
476
477 [RFC3886] Allman, E., "An Extensible Message Format for Message
478 Tracking Responses", RFC 3886, September 2004.
479
480 [RFC4468] Newman, C., "Message Submission BURL Extension", RFC 4468,
481 May 2006.
482
483 [RFC4954] Siemborski, R. and A. Melnikov, "SMTP Service Extension
484 for Authentication", RFC 4954, July 2007.
485
4865.2. Informative References
487
488 [RFC1893] Vaudreuil, G., "Enhanced Mail System Status Codes",
489 RFC 1893, January 1996.
490
491 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
492 IANA Considerations Section in RFCs", BCP 26, RFC 5226,
493 May 2008.
494
495
496
497
498
499
500
501
502
503
504
505
506Hansen & Klensin Best Current Practice [Page 9]
507
508RFC 5248 SMTP Enhanced Status Code Registry June 2008
509
510
511Authors' Addresses
512
513 Tony Hansen
514 AT&T Laboratories
515 200 Laurel Ave.
516 Middletown, NJ 07748
517 USA
518
519 EMail: tony+mailesc@maillennium.att.com
520
521
522 John C Klensin
523 1770 Massachusetts Ave, Ste 322
524 Cambridge, MA 02140
525 USA
526
527 Phone: +1 617 245 1457
528 EMail: john+ietf@jck.com
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562Hansen & Klensin Best Current Practice [Page 10]
563
564RFC 5248 SMTP Enhanced Status Code Registry June 2008
565
566
567Full Copyright Statement
568
569 Copyright (C) The IETF Trust (2008).
570
571 This document is subject to the rights, licenses and restrictions
572 contained in BCP 78, and except as set forth therein, the authors
573 retain all their rights.
574
575 This document and the information contained herein are provided on an
576 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
577 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
578 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
579 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
580 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
581 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
582
583Intellectual Property
584
585 The IETF takes no position regarding the validity or scope of any
586 Intellectual Property Rights or other rights that might be claimed to
587 pertain to the implementation or use of the technology described in
588 this document or the extent to which any license under such rights
589 might or might not be available; nor does it represent that it has
590 made any independent effort to identify any such rights. Information
591 on the procedures with respect to rights in RFC documents can be
592 found in BCP 78 and BCP 79.
593
594 Copies of IPR disclosures made to the IETF Secretariat and any
595 assurances of licenses to be made available, or the result of an
596 attempt made to obtain a general license or permission for the use of
597 such proprietary rights by implementers or users of this
598 specification can be obtained from the IETF on-line IPR repository at
599 http://www.ietf.org/ipr.
600
601 The IETF invites any interested party to bring to its attention any
602 copyrights, patents or patent applications, or other proprietary
603 rights that may cover technology that may be required to implement
604 this standard. Please address the information to the IETF at
605 ietf-ipr@ietf.org.
606
607
608
609
610
611
612
613
614
615
616
617
618Hansen & Klensin Best Current Practice [Page 11]
619
620