1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 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 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453
|
<pre>Network Working Group K. Toyoda
Request for Comments: 4141 PCC
Category: Standards Track D. Crocker
Brandenburg
November 2005
<span class="h1">SMTP and MIME Extensions for Content Conversion</span>
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
A message originator sometimes sends content in a form the recipient
cannot process or would prefer not to process a form of lower quality
than is preferred. Such content needs to be converted to an
acceptable form, with the same information or constrained information
(e.g., changing from color to black and white). In a store-and-
forward environment, it may be convenient to have this conversion
performed by an intermediary. This specification integrates two
ESMTP extensions and three MIME content header fields, which defines
a cooperative service that permits authorized, accountable content
form conversion by intermediaries.
<span class="grey">Toyoda & Crocker Standards Track [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
Table of Contents
<a href="#section-1">1</a>. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-2">2</a>
<a href="#section-1.1">1.1</a>. Background. . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-1.2">1.2</a>. Overview. . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-1.3">1.3</a>. Notational Conventions. . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-2">2</a>. Applicability. . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-3">3</a>. Service Specification. . . . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-3.1">3.1</a>. Sending Permission. . . . . . . . . . . . . . . . . . . . <a href="#page-9">9</a>
<a href="#section-3.2">3.2</a>. Returning Capabilities. . . . . . . . . . . . . . . . . . <a href="#page-10">10</a>
<a href="#section-3.3">3.3</a>. Next-Hop Non-Support of Service . . . . . . . . . . . . . <a href="#page-12">12</a>
<a href="#section-4">4</a>. Content Conversion Permission SMTP Extension . . . . . . . . . <a href="#page-12">12</a>
4.1. Content Conversion Permission Service Extension
Definition. . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-12">12</a>
<a href="#section-4.2">4.2</a>. CONPERM Parameter to Mail-From. . . . . . . . . . . . . . <a href="#page-13">13</a>
<a href="#section-4.3">4.3</a>. Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-13">13</a>
<a href="#section-5">5</a>. Content Negotiation SMTP Extension . . . . . . . . . . . . . . <a href="#page-13">13</a>
<a href="#section-5.1">5.1</a>. Content Negotiation Service Extension Definition. . . . . <a href="#page-13">13</a>
<a href="#section-5.2">5.2</a>. CONNEG Parameter to RCPT-TO . . . . . . . . . . . . . . . <a href="#page-14">14</a>
<a href="#section-5.3">5.3</a>. Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-15">15</a>
<a href="#section-6">6</a>. MIME Content-Features Header Field . . . . . . . . . . . . . . <a href="#page-16">16</a>
<a href="#section-7">7</a>. MIME Content-Convert Header Field. . . . . . . . . . . . . . . <a href="#page-16">16</a>
<a href="#section-8">8</a>. MIME Content-Previous Header Field . . . . . . . . . . . . . . <a href="#page-16">16</a>
<a href="#section-9">9</a>. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-17">17</a>
<a href="#section-9.1">9.1</a>. CONPERM Negotiation . . . . . . . . . . . . . . . . . . . <a href="#page-17">17</a>
<a href="#section-9.2">9.2</a>. Example CONNEG Negotiation. . . . . . . . . . . . . . . . <a href="#page-18">18</a>
<a href="#section-9.3">9.3</a>. Content-Previous. . . . . . . . . . . . . . . . . . . . . <a href="#page-19">19</a>
<a href="#section-10">10</a>. Security Considerations. . . . . . . . . . . . . . . . . . . . <a href="#page-19">19</a>
<a href="#section-11">11</a>. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-20">20</a>
<a href="#section-12">12</a>. References . . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-20">20</a>
<a href="#appendix-A">Appendix A</a>. CONNEG with Direct SMTP. . . . . . . . . . . . . . . . <a href="#page-22">22</a>
<a href="#appendix-B">Appendix B</a>. USING Combinations of the Extensions . . . . . . . . . <a href="#page-23">23</a>
<a href="#appendix-C">Appendix C</a>. MIME Content-Type Registrations. . . . . . . . . . . . <a href="#page-24">24</a>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
Internet specifications typically define common capabilities for a
particular service that are supported by all participants. This
permits the sending of basic data without knowing which additional
capabilities individual recipients support. However, knowing those
capabilities permits the sending of additional types of data and data
of enhanced richness. Otherwise, a message originator will send
content in a form the recipient cannot process or will send multiple
forms of data. This specification extends the work of [<a href="#ref-CONMSG" title=""Content Negotiation for Messaging Services based on Email"">CONMSG</a>],
which permits a recipient to solicit alternative content forms from
the originator. The current specification enables MIME content
conversion by intermediaries, on behalf of a message originator and a
message recipient.
<span class="grey">Toyoda & Crocker Standards Track [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
<span class="h3"><a class="selflink" id="section-1.1" href="#section-1.1">1.1</a>. Background</span>
MIME enables the distinguishing and labeling of different types of
content [<a href="#ref-IMF" title=""Internet Message Format"">IMF</a>, <a href="#ref-MEDTYP" title=""MIME Media Types"">MEDTYP</a>]. However, an email originator cannot know
whether a recipient is able to support (interpret) a particular data
type. To permit the basic use of MIME, a minimum set of data types
is specified as its support base. How will an originator know
whether a recipient can support any other data types?
A mechanism for describing MIME types is specified in [<a href="#ref-FEAT" title=""Indicating Media Features for MIME Content"">FEAT</a>].
[<a href="#ref-CONMSG" title=""Content Negotiation for Messaging Services based on Email"">CONMSG</a>] specifies a mechanism that permits an originator to query a
recipient about the types it supports using email messages for the
control exchange. This permits a recipient to propagate information
about its capabilities back to an originator. For the control
exchange, using end-to-end email messages introduces considerable
latency and some unreliability.
An alternative approach is for an originator to use the "best" form
of data that it can, and to include the same types of permitted
representation information used in [<a href="#ref-CONMSG" title=""Content Negotiation for Messaging Services based on Email"">CONMSG</a>]. Hopefully, the
recipient, or an intermediary, can translate this into a form
supported by a limited recipient. This specification defines such a
mechanism. It defines a means of matching message content form to
the capabilities of a recipient device or system, by using MIME
content descriptors and the optional use of an SMTP-based negotiation
mechanism [<a href="#ref-ESMTP1" title=""SMTP Service Extensions"">ESMTP1</a>, <a href="#ref-ESMTP2" title=""Simple Mail Transfer Protocol"">ESMTP2</a>].
<span class="h3"><a class="selflink" id="section-1.2" href="#section-1.2">1.2</a>. Overview</span>
An originator describes desirable content forms in MIME content
descriptors. It may give "permission", to any intermediary or the
recipient, to convert the content to one of those forms. Separately,
an SMTP server may report the target's content capabilities back to
the SMTP client. The client is then able to convert the message
content into a form that is both supported by the target system and
acceptable to the originator.
A conversion service needs to balance between directions provided by
the originator, directions provided on behalf of the recipient, and
capabilities of the intermediary that performs the conversions. This
is complicated by the need to determine whether the directions are
advisory or whether they are intended to be requirements.
Conversions specified as advisory are performed if possible, but they
do not alter message delivery. In contrast, conversion
specifications that are treated as a requirement will prohibit
delivery if the recipient will not be able to process the content.
<span class="grey">Toyoda & Crocker Standards Track [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
These possibilities interact to form different processing scenarios,
in the event that the intermediary cannot satisfy the desires of both
the originator and the recipient:
Table 1: FAILURE HANDLING
\ RECEIVER| | |
+-------+ | Advise | Require |
ORIGINATOR\| | |
-----------+----------+----------+
| Deliver | Deliver |
Advise | original | original |
| content | content |
-----------+----------+----------+
| Return | Return |
Require | w/out | w/out |
| delivery | delivery |
-----------+----------+----------+
This table reflects a policy that determines failure handling solely
based on the direction provided by the originator. Thus, information
on behalf of the recipient is used to guide the details of
conversion, but not delivery of the message.
This is intended to continue the existing email practice of
delivering content that a recipient might not be able to process.
Clearly, the above table could be modified to reflect a different
policy. However, that would limit backward compatibility experienced
by users.
This specification provides mechanisms to support a controlled,
transit-time mail content conversion service, through a series of
mechanisms. These include:
* an optional ESMTP hop-by-hop service that uses the CONPERM SMTP
service extensions, issued by the originator,
* an optional ESMTP hop-by-hop service that uses the CONNEG SMTP
service extensions, issued on behalf of the recipient, and
* three MIME Content header fields (Content-Convert, Content-
Previous and * Content-Features) that specify appropriate
content header fields and record conversions that have been
performed.
<span class="grey">Toyoda & Crocker Standards Track [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
Figure 1: EXAMPLE RELAY ENVIRONMENT
+------------+ +-----------+
| Originator | | Recipient |
+------------+ +-----------+
||Posting Delivering/\
\/ ||
+--------+ +-----------------+ +--------+
| SMTP | | SMTP Relay | | SMTP |
| Client |--->| Server | Client |--->| Server |
+--------+ +--------+--------+ +--------+
<span class="h3"><a class="selflink" id="section-1.3" href="#section-1.3">1.3</a>. Notational Conventions</span>
In examples, "C:" and "S:" indicate lines sent by the client and
server respectively.
The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT" and "MAY" in
this document are to be interpreted as defined in "Key words for use
in RFCs to Indicate Requirement Levels" [<a href="#ref-KEYWORDS" title=""Key words for use in RFCs to Indicate Requirement Levels"">KEYWORDS</a>].
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. Applicability</span>
This specification defines a cooperative mechanism that facilitates
early transformation of content. The mechanism can be used to save
bandwidth and to permit rendering on recipient devices that have
limited capabilities. In the first case, the assumption is that
conversion will produce smaller content. In the latter case, the
assumption is that the recipient device can render content in a form
derived from the original, but cannot render the original form.
The mechanism can impose significant resource requirements on
intermediaries performing conversions. Further, the intermediary
accepts responsibility for conversion prior to knowing whether it can
perform the conversion. Also note that conversion is not possible
for content that has been digitally signed or encrypted, unless the
converting intermediary can decode and re-code the content.
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. Service Specification</span>
This service integrates two ESMTP extensions and three MIME content
header fields, in order to permit authorized, accountable content
form conversion by intermediaries. Intermediaries are ESMTP hosts
(clients and servers) along the transmission path between an
originator and a recipient.
<span class="grey">Toyoda & Crocker Standards Track [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
An originator specifies preferred content-types through the Content-
Convert MIME content header field. The content header fields occur
in each MIME body-part to which they apply. That is, each MIME
body-part contains its own record of conversion guidance and history.
The originator's preferences are raised to the level of requirement
through the ESMTP CONPERM service extension. The CONPERM mechanism
is only needed when an originator requires that conversion
limitations be enforced by the mail transfer service. If an
acceptable content type cannot be delivered, then no delivery is to
take place.
Target system capabilities are communicated in SMTP sessions through
the ESMTP CONNEG service extension. This information is used to
restrict the range of conversions that may be performed, but does not
affect delivery.
When CONPERM is used, conversions are performed by the first ESMTP
host that can obtain both the originator's permission and information
about the capabilities supported by the recipient. If a relay or
client is unable to transmit the message to a next-hop that supports
CONPERM or to perform appropriate conversion, then it terminates
message transmission and returns a [<a href="#ref-DSNSMTP" title=""Simple Mail Transfer Protocol (SMTP) Service Extension for Delivery Status Notifications (DSNs)"">DSNSMTP</a>, <a href="#ref-DSNFMT" title=""An Extensible Message Format for Delivery Status Notifications"">DSNFMT</a>, <a href="#ref-SYSCOD" title=""Enhanced Mail System Status Codes"">SYSCOD</a>] to the
originator, with status code 5.6.3 (Conversion required but not
supported).
When an SMTP relay or server performs content conversion, it records
which specific conversions are made into Content-Previous and
Content-Features MIME header fields associated with each converted
MIME body-part.
If a message is protected by strong content authentication or privacy
techniques, then an intermediary that converts message content MUST
ensure that the results of its processing are similarly protected.
Otherwise it MUST NOT perform conversion.
Originator Action:
An originator specifies desired conversion results through
the MIME Content-Convert header field. If the originator includes
a Content-Convert header field, then it must also include a
Content-Feature header field, to indicate the current form of the
content. Intermediaries MAY interpret the presence of this header
field as authorization to perform conversions. When Content-
Convert header fields are the sole means for guiding conversions
by intermediaries, then they serve only as advisories. Failure to
satisfy the guidance of these header fields does not affect final
delivery.
<span class="grey">Toyoda & Crocker Standards Track [Page 6]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-7" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
When posting a new message, the originator MAY specify
transit-service enforcement of conversion limitations by using the
ESMTP CONPERM service extension. In each of the MIME body-parts
for which conversion is authorized, conversions MUST be limited to
those specified in MIME Content-Convert header fields. If
conversion is needed, but an authorized conversion cannot be
performed, then the message will be returned to the originator.
If CONPERM is not used, then failure to perform an authorized
conversion will not affect normal delivery handling.
Figure 2: CONPERM USAGE
+------------+
| Originator |
+------------+
SMTP ||
or || CONPERM
SUBMIT \/
+--------+ +----------------+
| SMTP | SMTP | SMTP Relay |
| Client |----------->| Server | |
+--------+ CONPERM +--------+-------+
Recipient Action:
With the ESMTP mail transfer service, capabilities that can
be supported on behalf of the recipient SHOULD be communicated to
intermediaries by the ESMTP CONNEG service extension.
Figure 3: CONNEG USAGE
+-----------+
| Recipient |
+-----------+
Capabilities||
\/
+----------------+ +--------+
| SMTP Relay | CONNEG | SMTP |
| | Client |<--------| Server |
+-------+--------+ +--------+
Intermediary Actions:
An intermediary MAY be given CONPERM direction when receiving
a message, and MAY be given CONNEG guidance before sending the
message. CONPERM and CONNEG operate on a per-message basis and
are issued through the ESMTP MAIL-FROM request. CONNEG response
<span class="grey">Toyoda & Crocker Standards Track [Page 7]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-8" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
information is provided on a per-recipient basis, through the
response to ESMTP RCPT-TO.
Conversion MUST be performed by the first CONPERM
intermediary that obtains the CONNEG capability information. The
MIME Content-Type MUST conform to the result of the converted
content, as per [<a href="#ref-MEDTYP" title=""MIME Media Types"">MEDTYP</a>]. When an intermediary obtains different
capability information for different recipients of the same
message, it MAY either:
* Create a single, converted copy of the content that can be
supported by all of the recipients, or
* Create multiple converted copies, matching the capabilities
of subsets of the recipients. Each version is then sent
separately to an appropriate subset of the recipients, using
separate, standard SMTP sessions with separate, standard
<a href="./rfc2821">RFC2821</a>.Rcpt-To lists of addresses.
A record of conversions is placed into MIME Content-Previous
header fields. The current form of the content is described in
MIME Content-Features header fields.
A special case of differential capabilities occurs when an
intermediary receives capability information about some
recipients, but no information about others. An example of this
scenario can occur when sending a message to some recipients
within one's own organization, along with recipients located
elsewhere. The intermediary might have capability information
about the local recipients, but will not have any for distant
recipients. This is treated as a variation of the handling that
is required for situations in which the permissible conversions
are the null set -- that is, no valid conversions are possible for
a recipient.
Rather than simply failing transmission to the recipients for
which there is no capability information, the intermediary MAY
choose to split the list of addressees into subsets of separate,
standard <a href="./rfc2821">RFC2821</a>.Rcpt-To lists and separate, standard SMTP
sessions, and then continue the transmission of the original
content to those recipients via the continued use of the CONPERM
mechanism. Hence, the handling for such recipients is performed
as if no CONNEG transaction took place.
Once an intermediary has performed conversion, it MAY
terminate use of CONPERM. However, some relay environments, such
as those re-directing mail to a new target device, will benefit
from further conversion. Intermediaries MAY continue to use
<span class="grey">Toyoda & Crocker Standards Track [Page 8]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-9" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
CONPERM or MAY re-initiate CONPERM use when they have knowledge of
possible variations in a target device.
NOTE: A new, transformed version of content may have less
information than the earlier version. Of course, a sequence of
transformations may lose additional information at each step.
Perhaps surprisingly, this can result in more loss than might
be necessary. For example, transformation x could change
content form A to content form B; then transformation y changes
B to C. However, it is possible that transformation y might
have accepted form A directly and produced form D, which has
more of the original information than C.
NOTE: An originator MAY validate any conversions that are made
by requesting a positive [<a href="#ref-DSNSMTP" title=""Simple Mail Transfer Protocol (SMTP) Service Extension for Delivery Status Notifications (DSNs)"">DSNSMTP</a>]. If the DSN request
includes the "RET" parameter, the delivery agent SHOULD return
an exact copy of the delivered (converted) message content.
This will permit the originator to inspect the results of any
conversion(s).
<span class="h3"><a class="selflink" id="section-3.1" href="#section-3.1">3.1</a>. Sending Permission</span>
A message originator that permits content conversion by
intermediaries MAY use the CONPERM ESMTP service extension and
Content-Convert MIME header fields to indicate what conversions are
permitted by intermediaries. Other mechanisms, by which a message
originator communicates this permission to the SMTP message transfer
service, are outside the scope of this specification.
NOTE: This option requires that a server make an open-ended
commitment to ensure that acceptable conversions are performed.
In particular, it is possible that an intermediary will be
required to perform conversion, but be unable to do so. The
result will be that the intermediary will be required to
perform conversion, but it will be performed in undelivered
mail.
When an ESMTP client is authorized to participate in the CONPERM
service, it MUST interact with the next SMTP hop server about:
* The server's ability to enforce authorized conversions, through
ESMTP CONPERM
* The capabilities supported for the target device or system,
through ESMTP CONNEG
<span class="grey">Toyoda & Crocker Standards Track [Page 9]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-10" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
Successful use of CONPERM does not require that conversion take place
along the message transfer path. Rather, it requires that conversion
take place when a next-hop server reports capabilities that can be
supported on behalf of the recipient (through CONNEG) and that those
capabilities do not include support for the current representation of
the content.
NOTE: It is acceptable to have every SMTP server --
including the last-hop server -- support CONPERM, with none
offering CONNEG. In this case, the message is delivered to
the recipient in its original form. Any possible
conversions to be performed are left to the recipient.
Thus, the recipient is given the original form of the
content, along with an explicit list of conversions deemed
acceptable by the originator.
An SMTP server MAY offer ESMTP CONPERM, without being able to perform
conversions, if it knows conversions can be performed along the
remainder of the transfer path, or by the target device or system.
<span class="h3"><a class="selflink" id="section-3.2" href="#section-3.2">3.2</a>. Returning Capabilities</span>
A target recipient device or system arranges announcements of its
content form capabilities to the SMTP service through a means outside
the scope of this specification. Note that enabling a server to
issue CONNEG information on behalf of the recipient may require a
substantial mechanism between the recipient and server. When an
ESMTP server knows a target's capabilities, it MAY offer the CONNEG
ESMTP service extension.
NOTE: One aspect of that mechanism, between the recipient
and an ESMTP server offering the CONNEG ESMTP service
extension could include offering capabilities beyond those
directly supported by the recipient. In particular, the
server -- or other intermediaries between the server and the
recipient -- could support capabilities that they can
convert to a recipient's capability. As long as the result
is acceptable to the set specified in the relevant Content-
Convert header fields of the message being converted, the
details of these conversions are part of the
recipient/server mechanism, and fall outside the scope of
the current specification.
If a next-hop ESMTP server responds that it supports CONNEG when a
message is being processed according to the CONPERM mechanism, then
the SMTP client:
1) MUST request CONNEG information
<span class="grey">Toyoda & Crocker Standards Track [Page 10]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-11" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
2) MUST perform the requisite conversions, if possible, before
sending the message to the next-hop SMTP server
3) MUST fail message processing, if any conversion for the message
fails, and MUST return a failure DSN to the originator with
status code 5.6.5 (Conversion failed).
When performing conversions, as specified in Content-Convert MIME
header fields, the Client MUST:
1) Add a Content-Previous header field and a Content-Features
header field to each MIME body-part that has been converted,
removing any existing Content-Features header fields.
2) Either:
* Send a single copy to the next-hop SMTP server, using the
best capabilities supported by all recipients along that
path, or
* Separate the transfers into multiple, standard
<a href="./rfc2821">RFC2821</a>.Rcpt-To and ESMTP sessions, in order to provide
the best conversions possible for subsets of the
recipients.
If the transfers are to be separated, then the current session MUST
be terminated, and new sessions conducted for each subset.
The conversions to be performed are determined by the intersection of
three lists:
* Conversions permitted by the originator
* Content capabilities of the target
* Conversions that can be performed by the SMTP client host
Failed Conversion
If the result of this intersection is the null set of
representations, for an addressee, then delivery to that addressee
MUST be handled as a conversion failure.
If handling is subject to the CONPERM mechanism and:
* the next-hop SMTP host does not indicate that it can
represent the target's capabilities through CONNEG, but
<span class="grey">Toyoda & Crocker Standards Track [Page 11]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-12" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
* does respond that it can support CONPERM, then the client
SMTP MUST send the existing content, if all other SMTP
transmission requirements are satisfied.
If handling is not subject to the CONPERM mechanism, then
conversion failures do not affect message delivery.
<span class="h3"><a class="selflink" id="section-3.3" href="#section-3.3">3.3</a>. Next-Hop Non-Support of Service</span>
If a Client is participating in the CONPERM mechanism, but the next-
hop SMTP server does not support CONPERM or CONNEG, then the SMTP
client
1) MUST terminate the session to the next-hop SMTP server, without
sending the message
2) MUST return a DSN notification to the originator, with status
code 5.6.3 (Conversion required but not supported). [DSNSMTP,
DSNFMT, SYSCOD]
If a Client is participating in the CONPERM mechanism and the next-
hop SMTP server supports CONNEG, but provides no capabilities for an
individual RCPT-TO addressee, then the SMTP client's processing for
that recipient MUST be either to:
1) Treat the addressee as a conversion failure, or
2) Separate the addressee from the address list that is processed
according to CONNEG, and continue to process the addressee
according to CONPERM.
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Content Conversion Permission SMTP Extension</span>
<span class="h3"><a class="selflink" id="section-4.1" href="#section-4.1">4.1</a>. Content Conversion Permission Service Extension Definition</span>
1) The name of the SMTP service extension is
"Content-Conversion-Permission"
2) The EHLO keyword value associated with this extension is
"CONPERM"
3) A parameter using the keyword "CONPERM" is added to the MAIL-FROM
command.
4) The server responds with acceptance or rejection of support for
CONPERM, for this message.
<span class="grey">Toyoda & Crocker Standards Track [Page 12]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-13" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
<span class="h3"><a class="selflink" id="section-4.2" href="#section-4.2">4.2</a>. CONPERM Parameter to Mail-From</span>
Parameter:
CONPERM
Arguments:
There are no arguments. Specification of permitted
conversions is located in a Content-Convert header field for each
MIME body-part in which conversion is permitted.
Client Action:
If the server issued a 250-CONPERM as part of its EHLO
response for the current session, and the client is participating
in the CONPERM service for this message -- such as by having
received the message with a CONPERM requirement -- then the client
MUST issue the CONPERM parameter in the MAIL-FROM. If the server
does not issue 250-CONPERM, and the client is participating in the
CONPERM service for this message, then the client MUST treat the
transmission as permanently rejected.
Server Action:
If the client specifies CONPERM in the MAIL-FROM, but the
server does not support the CONPERM parameter, the server MUST
reject the MAIL-FROM command with a 504-CONPERM reply.
If the client issues the CONPERM parameter in the MAIL-FROM,
then the server MUST conform to this specification. Either it
MUST relay the message according to CONPERM, or it MUST convert
the message according to CONNEG information.
<span class="h3"><a class="selflink" id="section-4.3" href="#section-4.3">4.3</a>. Syntax</span>
Content-Conversion-Permission = "CONPERM"
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. Content Negotiation SMTP Extension</span>
<span class="h3"><a class="selflink" id="section-5.1" href="#section-5.1">5.1</a>. Content Negotiation Service Extension Definition</span>
1) The name of the SMTP service extension is:
"Content-Negotiation"
<span class="grey">Toyoda & Crocker Standards Track [Page 13]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-14" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
2) The EHLO keyword value associated with this extension is:
"CONNEG"
3) A parameter, using the keyword "CONNEG", is added to the RCPT-TO
command.
4) The server responds with a report indicating the content
capabilities that can be received on behalf of the recipient
device or system, associated with the target RCPT-TO address.
<span class="h3"><a class="selflink" id="section-5.2" href="#section-5.2">5.2</a>. CONNEG Parameter to RCPT-TO</span>
Parameter:
CONNEG
Arguments:
There are no arguments.
Client Action:
If a message is subject to CONPERM requirements and the
server issues a 250-CONNEG, as part of its EHLO response for the
current session, the client MUST issue the CONNEG parameter in the
RCPT-TO request. If the message is not subject to CONPERM
requirements, and the server issues a 250-CONNEG, the client MAY
issue the CONNEG parameter with RCPT-TO.
If the client issues the CONNEG parameter with RCPT-TO, then
it MUST honor the capabilities returned in the CONNEG RCPT-TO
replies for that message. In addition, it MUST convert the
message content, if the current form of the content is not
included in the capabilities listed, on behalf of the recipient.
The conversions that are performed are determined by the
intersection of the:
* Conversions permitted by the originator
* Content capabilities of the target
* Conversions that can be performed by the SMTP client host
If the result of this intersection is the null set of
representations, then the Client processing depends upon whether
the next-hop server has offered CONPERM, as well as CONNEG:
<span class="grey">Toyoda & Crocker Standards Track [Page 14]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-15" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
1) If the message will be subject to CONPERM at the next hop,
the Client MAY transmit the original content to the next hop
and continue CONPERM requirements.
2) Otherwise, the Client MUST treat the conversion as failed.
If the result of the intersection is not null, the client
SHOULD convert the data to the "highest" level of capability of
the server. Determination of the level that is highest is left to
the discretion of the host performing the conversion.
Each converted MIME body-part MUST have a Content-Previous
header field that indicates the previous body-part form and a
Content-Features header field, indicating the new body-part form.
Server Action:
If the client specifies CONNEG in the RCPT-TO, but the server
does not support the CONNEG parameter, the server MUST reject the
RCPT-TO addressees with 504 replies.
If the server does support the CONNEG parameter, and it knows
the capabilities of the target device or system, then it MUST
provide that information through CONNEG. The server MAY provide a
broader list than is supported by the recipient if the server can
ensure that the form of content delivered can be processed by the
recipient, while still satisfying the constraints of the author's
Content-Convert specification(s).
The response to a CONNEG RCPT-TO request will be multi-line
RCPT-TO replies. For successful (250) responses, at least the
first line of the response must contain RCPT-TO information other
than CONNEG. Additional response lines are for CONNEG. To avoid
problems due to variations in line buffer sizes, the total
parametric listing must be provided as a series of lines, each
beginning with "250-CONNEG", except for the last line, which is
"250 CONNEG".
The contents of the capability listing MUST conform to the
specifications in [<a href="#ref-SYN" title=""A Syntax for Describing Media Feature Sets"">SYN</a>] and cover the same range of specifications
permitted in [<a href="#ref-CONMSG" title=""Content Negotiation for Messaging Services based on Email"">CONMSG</a>].
<span class="h3"><a class="selflink" id="section-5.3" href="#section-5.3">5.3</a>. Syntax</span>
Content-Negotiation = "CONNEG"
Capability = { <filter> specification,
as per [<a href="#ref-SYN" title=""A Syntax for Describing Media Feature Sets"">SYN</a>] }
<span class="grey">Toyoda & Crocker Standards Track [Page 15]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-16" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. MIME Content-Features Header Field</span>
The Content-Features header field describes the characteristics of
the current version of the content for the MIME body-part in which
the header field occurs. There is a separate Content-Features header
field for each MIME body-part. The specification for this header
field is contained in [<a href="#ref-FEAT" title=""Indicating Media Features for MIME Content"">FEAT</a>].
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. MIME Content-Convert Header Field</span>
Content-Convert is a header field that specifies preferred
conversions for the associated content. It MAY be used without the
other mechanisms defined in this document. If present, this header
field MUST be carried unmodified and delivered to the recipient. In
its absence, the content originator provides no guidance about
content conversions, and intermediaries SHOULD NOT perform content
conversion.
In the extended ABNF notation, the Content-Convert header field is
defined as follows:
Convert = "Content-convert" ":"
permitted
Permitted = "ANY" / "NONE" / permitted-list
permitted-list = { explicit list of permitted
final forms, using <filter>
syntax in [<a href="#ref-SYN" title=""A Syntax for Describing Media Feature Sets"">SYN</a>] }
If the permitted conversions are specified as "ANY", then the
intermediary may perform any conversions it deems appropriate.
If the permitted conversions are specified as "NONE", then the
intermediary SHOULD NOT perform any conversions to this MIME body-
part, even when the target device or system does not support the
original form of the content.
If a Content-Convert header field is present, then a Content-Features
header field MUST also be present to describe the current form of the
Content.
<span class="h2"><a class="selflink" id="section-8" href="#section-8">8</a>. MIME Content-Previous Header Field</span>
When an intermediary has performed conversion of the associated
content, the intermediary MUST record details of the previous
representation, from which the conversion was performed. This
information is placed in a Content-Previous header field that is part
<span class="grey">Toyoda & Crocker Standards Track [Page 16]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-17" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
of the MIME body-part with the converted content. There is a
separate header field for each converted MIME body-part.
When an intermediary has performed conversion, the intermediary MUST
record details of the result of the conversion by creating or
revising the Content-Features header field for the converted MIME
body-part.
In the extended [<a href="#ref-ABNF" title=""Augmented BNF for Syntax Specifications: ABNF"">ABNF</a>] notation, the Content-Previous header field is
defined as follows:
previous = "Content-Previous" [<a href="#ref-CFWS" title=""Content Language Headers"">CFWS</a>] ":"
[<a href="#ref-CFWS" title=""Content Language Headers"">CFWS</a>]
date by type
date = "Date " [<a href="#ref-CFWS" title=""Content Language Headers"">CFWS</a>] date-time [<a href="#ref-CFWS" title=""Content Language Headers"">CFWS</a>] ";"
[<a href="#ref-CFWS" title=""Content Language Headers"">CFWS</a>]
by = "By " [<a href="#ref-CFWS" title=""Content Language Headers"">CFWS</a>] domain [<a href="#ref-CFWS" title=""Content Language Headers"">CFWS</a>] ";"
[<a href="#ref-CFWS" title=""Content Language Headers"">CFWS</a>]
type = { content characteristics, using
<filter> syntax in [<a href="#ref-SYN" title=""A Syntax for Describing Media Feature Sets"">SYN</a>] }
The Date field specifies the date and time at which the indicated
representation was converted into a newer representation.
The By field specifies the domain name of the intermediary that
performed the conversion.
An intermediary MAY choose to derive the Content-Previous header
field, for a body-part, from an already-existing Content-Features
header field in that body-part, before that header field is replaced
with the description of the current representation.
<span class="h2"><a class="selflink" id="section-9" href="#section-9">9</a>. Examples</span>
<span class="h3"><a class="selflink" id="section-9.1" href="#section-9.1">9.1</a>. CONPERM Negotiation</span>
S: 220 example.com IFAX
C: EHLO example.com
S: 250- example.com
S: 250-DSN
S: 250 CONPERM
C: MAIL FROM:May@some.example.com CONPERM
S: 250 <May@some.example.com> originator ok
C: RCPT TO:<June@some.example.com>
S: 250-<June@some.example.com> recipient ok
<span class="grey">Toyoda & Crocker Standards Track [Page 17]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-18" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
C: DATA
S: 354 okay, send data
C: <<<a href="./rfc2822">RFC 2822</a> message with MIME Content-Type:TIFF-FX
Per:
( image-file-structure=TIFF-minimal
dpi=400
image-coding=JBIG
size-x=2150/254
paper-size=letter
)
with MIME body-parts including:
Content-Convert:
(&(image-file-structure=TIFF-minimal)
(MRC-mode=0)
(color=Binary)
(|(&(dpi=204)
(dpi-xyratio=[204/98,204/196]) )
(&(dpi=200)
(dpi-xyratio=[200/100,1]) )
(&(dpi=400)
(dpi-xyratio=1) ) )
(|(image-coding=[MH,MR,MMR])
(&(image-coding=JBIG)
(image-coding-constraint=JBIG-T85)
(JBIG-stripe-size=128) ) )
(size-x<=2150/254)
(paper-size=[letter,A4])
(ua-media=stationery) )
>>
S: 250 message accepted
C: QUIT
S: 221 goodbye
<span class="h3"><a class="selflink" id="section-9.2" href="#section-9.2">9.2</a>. Example CONNEG Negotiation</span>
S: 220 example.com IFAX
C: EHLO example.com
S: 250- example.com
S: 250-DSN
S: 250 CONNEG
C: MAIL FROM:<May@some.example.com>
S: 250 <May@some.example.com> originator ok
C: RCPT TO:<June@ifax1.jp> CONNEG
S: 250-<June@some.example.com> recipient ok
S: 250-CONNEG (&(image-file-structure=TIFF-minimal)
S: 250-CONNEG (MRC-mode=0)
S: 250-CONNEG (color=Binary)
S: 250-CONNEG (|(&(dpi=204)
<span class="grey">Toyoda & Crocker Standards Track [Page 18]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-19" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
S: 250-CONNEG (dpi-xyratio=[204/98,204/196]) )
S: 250-CONNEG (&(dpi=200)
S: 250-CONNEG (dpi-xyratio=[200/100,1]) ) )
S: 250-CONNEG (image-coding=[MH,MR,MMR])
S: 250-CONNEG (size-x<=2150/254)
S: 250-CONNEG (paper-size=[letter,A4])
S: 250 CONNEG (ua-media=stationery) )
C: DATA
S: 354 okay, send data
C: <<<a href="./rfc2822">RFC 2822</a> message with MIME Content-Type:TIFF-FX
Per:
( image-file-structure=TIFF-minimal
dpi=400
image-coding=JBIG
size-x=2150/254
paper-size=letter
)
>>
S: 250 message accepted
C: QUIT
S: 221 goodbye
<span class="h3"><a class="selflink" id="section-9.3" href="#section-9.3">9.3</a>. Content-Previous</span>
Content-Previous:
Date Tue, 1 Jul 2001 10:52:37 +0200;
By relay.example.com;
(&(image-file-structure=TIFF-minimal)
(MRC-mode=0)
(color=Binary)
(&(dpi=400)
(dpi-xyratio=1) )
(&(image-coding=JBIG)
(image-coding-constraint=JBIG-T85)
(JBIG-stripe-size=128) )
(size-x=2150/254)
(paper-size=A4)
(ua-media=stationery) )
<span class="h2"><a class="selflink" id="section-10" href="#section-10">10</a>. Security Considerations</span>
This service calls for disclosure of capabilities, on behalf of
recipients. Mechanisms for determining the requestor's and the
respondent's authenticated identity are outside the scope of this
specification. These mechanisms are intended to permit disclosure of
information that is safe for public distribution; hence, there is no
inherent need for security measures.
<span class="grey">Toyoda & Crocker Standards Track [Page 19]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-20" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
Information that should have restricted distribution is still able to
be disclosed. Therefore, it is the responsibility of the disclosing
ESMTP server or disclosing ESMTP client to determine whether
additional security measures should be applied to the use of this
ESMTP option.
Use of the ESMTP CONNEG option permits content transformation by an
intermediary, along the mail transfer path. When the contents are
encrypted, the intermediary cannot perform the conversion, because it
is not expected to have access to the relevant secret keying
material. When the contents are signed, but not encrypted,
conversion will invalidate the signature. This specification
provides for potentially unbounded computation by intermediary MTAs,
depending on the nature and amount of conversion required. Further,
this computation burden might provide an opportunity for denial-of-
service attacks, given that Internet mail typically permits
intermediaries to receive messages from all Internet sources.
This specification provides for content conversion by unspecified
intermediaries. Use of this mechanism carries significant risk.
Although intermediaries always have the ability to perform damaging
transformations, use of this specification could result in more
exploration of that potential and, therefore, more misbehavior. Use
of intermediaries is discussed in [<a href="./rfc3238" title=""IAB Architectural and Policy Considerations for Open Pluggable Edge Services"">RFC3238</a>].
CONPERM/CONNEG provide a cooperative mechanism, rather than enabling
intermediary actions that were not previously possible.
Intermediaries already make conversions on their own initiative.
Hence, the mechanism introduces essentially no security concerns,
other than divulging recipient preferences.
<span class="h2"><a class="selflink" id="section-11" href="#section-11">11</a>. Acknowledgements</span>
Graham Klyne and Eric Burger provided extensive, diligent reviews and
suggestions. Keith Moore, Giat Hana, and Joel Halpern provided
feedback that resulted in improving the specification's integration
into established email practice.
<span class="h2"><a class="selflink" id="section-12" href="#section-12">12</a>. References</span>
<span class="h3"><a class="selflink" id="section-12.1" href="#section-12.1">12.1</a>. Normative References</span>
[<a id="ref-ABNF">ABNF</a>] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", <a href="./rfc4234">RFC 4234</a>, October 2005.
[<a id="ref-KEYWORDS">KEYWORDS</a>] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>, March 1997.
<span class="grey">Toyoda & Crocker Standards Track [Page 20]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-21" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
[<a id="ref-CONMSG">CONMSG</a>] Klyne, G., Iwazaki, R., and D. Crocker, "Content
Negotiation for Messaging Services based on Email", <a href="./rfc3297">RFC</a>
<a href="./rfc3297">3297</a>, July 2002.
[<a id="ref-DSNSMTP">DSNSMTP</a>] Moore, K., "Simple Mail Transfer Protocol (SMTP) Service
Extension for Delivery Status Notifications (DSNs)", <a href="./rfc3461">RFC</a>
<a href="./rfc3461">3461</a>, January 2003.
[<a id="ref-DSNFMT">DSNFMT</a>] Moore, K. and G. Vaudreuil, "An Extensible Message Format
for Delivery Status Notifications", <a href="./rfc3464">RFC 3464</a>, January
2003.
[<a id="ref-SYSCOD">SYSCOD</a>] Vaudreuil, G., "Enhanced Mail System Status Codes", <a href="./rfc3463">RFC</a>
<a href="./rfc3463">3463</a>, January 2003.
[<a id="ref-ESMTP1">ESMTP1</a>] Klensin, J., Freed, N., Rose, M., Stefferud, E., and D.
Crocker, "SMTP Service Extensions", STD 10, <a href="./rfc1869">RFC 1869</a>,
November 1995.
[<a id="ref-ESMTP2">ESMTP2</a>] Klensin, J., "Simple Mail Transfer Protocol", <a href="./rfc2821">RFC 2821</a>,
April 2001.
[<a id="ref-FEAT">FEAT</a>] Klyne, G., "Indicating Media Features for MIME Content",
<a href="./rfc2912">RFC 2912</a>, September 2000.
[<a id="ref-IMF">IMF</a>] Resnick, P., "Internet Message Format", <a href="./rfc2822">RFC 2822</a>, April
2001.
[<a id="ref-SYN">SYN</a>] Klyne, G., "A Syntax for Describing Media Feature Sets",
<a href="./rfc2533">RFC 2533</a>, March 1999.
[<a id="ref-MEDTYP">MEDTYP</a>] IANA, "MIME Media Types",
<<a href="http://www.iana.org/assignments/media-types">http://www.iana.org/assignments/media-types</a>>
[<a id="ref-CFWS">CFWS</a>] Alvestrand, H., "Content Language Headers", <a href="./rfc3282">RFC 3282</a>, May
2002.
<span class="h3"><a class="selflink" id="section-12.2" href="#section-12.2">12.2</a>. Informative References</span>
[<a id="ref-RFC3238">RFC3238</a>] Floyd, S. and L. Daigle, "IAB Architectural and Policy
Considerations for Open Pluggable Edge Services", <a href="./rfc3238">RFC</a>
<a href="./rfc3238">3238</a>, January 2002.
<span class="grey">Toyoda & Crocker Standards Track [Page 21]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-22" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
<span class="h2"><a class="selflink" id="appendix-A" href="#appendix-A">Appendix A</a>. CONNEG with Direct SMTP</span>
This Appendix is descriptive. It only provides discussion of usage
issues permitted or required by the normative text
In some configurations, it is possible to have direct, email-based
interactions, where the originator's system conducts a direct,
interactive TCP connection with the recipient's system. This
configuration permits a use of the content form negotiation service
that conforms to the specification here, but permits some
simplifications. This single SMTP session does not have the
complexity of multiple, relaying sessions and therefore does not have
the requirement for propagating permissions to intermediaries.
The Originator's system provides user-level functions for the
originator, and it contains the SMTP Client for sending messages.
Hence, the formal step of email "posting" is a process that is
internal or virtual, within the Originating system. The recipient's
service contains the user-level functions for the recipient, and
contains the SMTP server for receiving messages. Hence, the formal
steps of email "delivering" and "receipt" are internal or virtual,
within the Receiving system.
Figure 4: DIRECT CONNEG
Originating system Receiving system
+------------------+ +------------------+
| +------------+ | | +-----------+ |
| | Originator | | | | Recipient | |
| +------------+ | | +-----------+ |
| ||Posting | | /\Receiving |
| \/ | | || |
| +---------+ | | +--------+ |
| | SMTP |<---|-------|----| SMTP | |
| | Client |----|-------|--->| Server | |
| +---------+ | | +--------+ |
+------------------+ +------------------+
In this case, CONPERM is not needed because the SMTP Client is part
of the originating system and already has the necessary permission.
Similarly, the SMTP server will be certain to know the recipient's
capabilities, because the server is part of the receiving system.
Therefore, Direct Mode email transmission can achieve content
capability and form matching by having:
<span class="grey">Toyoda & Crocker Standards Track [Page 22]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-23" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
* Originating systems that conform to this specification and a
communication process between originator and recipient that is
the same as would take place between a last-hop SMTP Relay and
the Delivering SMTP server to which it is connected.
* That is, the Client and Server MUST employ CONNEG and the
Client MUST perform any requisite conversions.
<span class="h2"><a class="selflink" id="appendix-B" href="#appendix-B">Appendix B</a>. Using Combinations of the Extensions</span>
This specification defines a number of mechanisms. It is not
required that they all be used together. For example, the difference
between listing preferred conversions -- versus specifying enforced
limitations to conversions -- is discussed in the Introduction. This
Appendix further describes scenarios that might call for using fewer
than the complete set defined in this specification. It also
summarizes the conditions which mandate that an intermediary perform
conversion.
This Appendix is descriptive. It only provides discussion of usage
issues permitted or required by the normative text
The available mechanisms are:
1. CONPERM Parameter to Mail-From
2. CONNEG parameter to RCPT-TO
3. MIME Content-Convert Header Field
4. MIME Content-Previous Header Field
5. MIME Content-Features Header Field
<span class="h3"><a class="selflink" id="appendix-B.1" href="#appendix-B.1">B.1</a>. Specifying Suggested Conversion Constraints</span>
Use of the MIME Content-Convert header field specifies the
originator's preferences, should conversion be performed. This does
not impose any requirements on the conversion; it is merely advisory.
<span class="h3"><a class="selflink" id="appendix-B.2" href="#appendix-B.2">B.2</a>. Specifying Required Conversion Constraints</span>
When the MIME Content-Convert specification is coupled with the ESMTP
CONPERM option, then the originator's specification of preferred
conversions rises to the level of requirement. No other conversions
are permitted, except those specified in the Content-Convert header
field.
Note that the presence of both mechanisms does not require that
conversions be performed. Rather, it constrains conversions,
should they occur.
<span class="grey">Toyoda & Crocker Standards Track [Page 23]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-24" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
<span class="h3"><a class="selflink" id="appendix-B.3" href="#appendix-B.3">B.3</a>. Accepting All Forms of Content</span>
Although it is unlikely that any device will always able to process
every type of existing content, some devices can be upgraded easily
(e.g., adding plug-in). Hence, such a device is able to process all
content effectively.
For such devices, it is better to refrain from issuing a CONNEG
assertion. Instead, the CONPERM request should be propagated to the
target device.
<span class="h3"><a class="selflink" id="appendix-B.4" href="#appendix-B.4">B.4</a>. When Conversion is Required</span>
A node is required to perform conversion when:
1. At least one MIME Content-Covert header field is present in the
message,
2. ESMTP CONPERM is in force at the node processing the message,
3. ESMTP CONNEG is also in force at the same node,
4. The current content form is not cited in the CONNEG list,
5. At least one content form is present, both in the Content-
Convert list and the CONNEG list, and
6. The intermediary is able to convert from the current form to
one of the forms listed in both Content-Convert and CONNEG.
<span class="h2"><a class="selflink" id="appendix-C" href="#appendix-C">Appendix C</a>. MIME Content-Type Registrations</span>
<span class="h3"><a class="selflink" id="appendix-C.1" href="#appendix-C.1">C.1</a>. Content-Convert</span>
Header field name:
Content-Convert
Applicable protocol:
Mail (<a href="./rfc2822">RFC 2822</a>)
Status:
Proposed Standard
Author/Change controller:
IETF
Specification document(s):
<a href="./rfc4141">RFC 4141</a>.
<span class="grey">Toyoda & Crocker Standards Track [Page 24]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-25" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
Related information:
None.
<span class="h3"><a class="selflink" id="appendix-C.2" href="#appendix-C.2">C.2</a>. Content-Previous</span>
Header field name:
Content-Previous
Applicable protocol:
Mail (<a href="./rfc2822">RFC 2822</a>)
Status:
Proposed Standard
Author/Change controller:
IETF
Specification document(s):
<a href="./rfc4141#section-8">RFC 4141, Section 8</a>
Related information:
None.
Authors' Addresses
Kiyoshi Toyoda
Panasonic Communications Co., Ltd.
4-1-62 Minoshima Hakata-ku, Fukuoka 812-8531 Japan
EMail: toyoda.kiyoshi@jp.panasonic.com
Dave Crocker
Brandenburg InternetWorking
675 Spruce Drive
Sunnyvale, CA 94086 USA
Phone: +1.408.246.8253
EMail: dcrocker@bbiw.net
<span class="grey">Toyoda & Crocker Standards Track [Page 25]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-26" ></span>
<span class="grey"><a href="./rfc4141">RFC 4141</a> SMTP & MIME Extensions for Content Conversion November 2005</span>
Full Copyright Statement
Copyright (C) The Internet Society (2005).
This document is subject to the rights, licenses and restrictions
contained in <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a>, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and <a href="https://www.rfc-editor.org/bcp/bcp79">BCP 79</a>.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
<a href="http://www.ietf.org/ipr">http://www.ietf.org/ipr</a>.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at ietf-
ipr@ietf.org.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Toyoda & Crocker Standards Track [Page 26]
</pre>
|