分享
 
 
 

RFC1344 - Implications of MIME for Internet Mail Gateways

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Network Working Group N. Borenstein, Bellcore

Request for Comments: 1344 June 1992

Implications of MIME for Internet Mail Gateways

Status of This Memo

This is an informational memo for the Internet community,

and requests discussion and suggestions for improvements.

This memo does not specify an Internet standard.

Distribution of this memo is unlimited.

Abstract

The recent development of MIME (Multipurpose Internet Mail

Extensions) offers a wide range of new opportunities for

electronic mail system systems. Most of these opportunites

are relevant only to user agents, the programs that interact

with human users when they send and receive mail. However,

some opportunities are also opened up for mail transport

systems. While MIME was carefully designed so that it does

not require any changes to Internet electronic message

transport facilities, there are several ways in which

message transport systems may want to take advantage of

MIME. These opportunities are the subject of this memo.

Background -- The MIME Format

Recently, a new standardized format has been defined for

enhanced electronic mail messages on the Internet. This

format, known as MIME, permits messages to include, in a

standardized manner, non-ASCII text, images, audio, and a

variety of other kinds of interesting data.

The MIME effort was eXPlicitly focused on requiring

absolutely no changes at the message transport level.

Because of this fact, MIME-format mail runs transparently on

all known Internet or Internet-style mail systems. This

means that those concerned solely with the maintenance and

development of message transport services can safely ignore

MIME completely, if they so choose.

However, the fact that MIME can be ignored, for the purpose

of message transport, does not necessarily mean that it

should be ignored. In particular, MIME offers several

features that should be of interest to those responsible for

message transport services. By exploiting these features,

transport systems can provide certain additional kinds of

service that are currently unavailable, and can alleviate a

few existing problems.

The remainder of this document is an attempt to briefly

point out and summarize some important ways in which MIME

Borenstein [Page 1]

RFC1344 MIME and Mail Gateways June 1992

may be of use for message transport systems. This document

makes no attempt to present a complete technical description

of MIME, however. For that, the reader is refered to the

MIME document itself [RFC-1341].

Mail Transport and Gateway Services: A Key Distinction

Before implementing any of the mechanisms discussed in this

memo, one should be familiar with the distinction between

mail transport service and mail gateway service. Basically,

mail transport software is responsible for moving a message

within a homogeneous electronic mail service network. Mail

gateways, on the other hand, exchange mail between two

significantly different mail environments, including via

non-electronic services, sUCh as postal mail.

In general, it is widely considered unacceptable for mail

transport services to alter the contents of messages. In

the case of mail gateways, however, such alteration is often

inevitable. Thus, strictly speaking, many of the mechanisms

described here apply only to gateways, and should not be

used in simple mail transport systems. However, it is

possible that some very special situations -- e.g., an SMTP

relay that transports mail across extremely expensive

intercontinental network links -- might need to modify

messages, in order to provide appropriate service for those

situations, and hence must redefine its role to be that of a

gateway.

In this memo, it is assumed that transformations which alter

a message's contents will be performed only by gateways, but

it is recognized that some existing mail transport agents

may choose to reclassify themselves as gateways in order to

perform the functions described here.

Rejected Messages

An unfortunately frequent duty of message transport services

is the rejection of mail to the sender. This may happen

because the mail was undeliverable, or because it did not

conform to the requirements of a gateway (e.g., it was too

large).

There has never been a standard format for rejected messages

in the past. This has been an annoyance, but not a major

problem for text messages. For non-text messages, however,

the lack of a standard rejection format is more crucial,

because rejected messages typically appear to be text, and

the user who finds himself viewing images or audio as if

they were text is rarely happy with the result.

MIME makes it very easy to encapsulate messages in such a

way that their semantics are completely preserved. The

simplest way to do this is to make each rejection notice a

Borenstein [Page 2]

RFC1344 MIME and Mail Gateways June 1992

MIME "multipart/mixed" message. That multipart message

would contain two parts, a text part explaining the reason

for the rejection, and an encapsulated message part that

contained the rejected message itself.

It should be stressed that the transport software does not

need to understand the structure of the rejected message at

all. It merely needs to encapsulate it properly. The

following, for example, shows how any MIME message may be

encapsulated in a rejection message in such a way that all

information will be immediately visible in the correct form

if the recipient reads it with a MIME-conformant mail

reader:

From: Mailer-Daemon <daemon@somewhere.com>

Subject: Rejected Message

Content-type: multipart/mixed; boundary=unique-boundary

--unique-boundary

Content-type: text/plain; charset=us-ascii

A mail message you sent was rejected. The details of

the rejected message are as follows:

From: Nathainel Borenstein <nsb@bellcore.com>

Message-ID: <12345@bellcore.com>

To: bush@whitehouse.gov

Subject: I know my rights!

Rejection-reason: No mail from libertarians is

accepted.

The original message follows below.

--unique-boundary

Content-type: message/rfc822

The ENTIRE REJECTED MESSAGE, starting with the headers,

goes here.

--unique-boundary--

In the above example, the ONLY thing that is not

'boilerplate" is the choice of boundary string. The phrase

"unique-boundary" should be replaced by a string that does

not appear (prefixed by two hyphens) in any of the body

parts.

Encapsulating a message in this manner is very easily done,

and will constitute a significant service that message

transport services can perform for MIME users.

IMPORTANT NOTE: The format given above is simply one of

many possible ways to format a rejection message using MIME.

Independent IETF efforts are needed in order to standardize

the format of rejections and acknowledgements.

Borenstein [Page 3]

RFC1344 MIME and Mail Gateways June 1992

Fragmenting and Reassembling Large Messages

One problem that occurs with increasing frequency in

Internet mail is the rejection of messages because of size

limitations. This problem can be expected to grow

substantially more severe with the acceptance of MIME, as

MIME invites the use of very large objects such as images

and audio clips. Fortunately, MIME also provides mechanisms

that can help alleviate the problem.

One particularly relevant MIME type is "message/partial",

which can be used for the automatic fragmentation and

reassembly of large mail messages. The message/partial type

can be handled entirely at the user agent level, but message

transport services can also make use of this type to provide

more intelligent behavior at gateways.

In particular, when gatewaying mail to or from a system or

network known to enforce size limitations that are more or

less stringent than are enforced locally, message transport

services might choose either to break a large message into

fragments, or (perhaps less likely) to reassemble fragments

into a larger message. The combination of these two

behaviors can make the overall Internet mail environment

appear more complete and seamless than it actually is.

Details on the message/partial format may be found in the

MIME document. What follows is an example of how a simple

short message might be broken into two message/partial

messages. In practice, of course, the message/partial

facility would only be likely to be used for much longer

messages.

The following initial message:

From: Nathaniel Borenstein <nsb@bellcore.com>

To: Ned Freed: <ned@innosoft.com>

Subject: a test message

Content-type: image/gif

Content-Transfer-Encoding: base64

R0lGODdhQAGMAbMAAAAAAP/u7swzIu6ZiLsiEd1EM+5VRGaI3WYAAO67qkRV

uwARd6q7/ywAAAAAQAGMAUME/hDISau9OOvNu/9gKI6kRJwoUa5s675wLM90l

XW5YKxqPyKRygxv2dr4czwlMCZrQLFTYHBJ2hlyQYFiaz+i0WWBou7fOq1x8vXWfU

qU1fJ2qEhYaHGjhZQmJ2QT1xBW1ak1xUdV0/VjtsbpUEDaEJCQOIpqeoNV+LXo5W

fVN3dZKceAQPvgyhwQ2lqcXGxx5wja59eJIGUNCszF90sYp50CoqFZ4DoqMMo6M

can be transformed, invertibly, into the following two

message/partial messages:

From: Nathaniel Borenstein <nsb@bellcore.com>

Borenstein [Page 4]

RFC1344 MIME and Mail Gateways June 1992

To: Ned Freed <ned@innosoft.com>

Subject: a test message

Content-type: message/partial; id="xyx@host.com";

number=1; total=2

Content-type: image/gif

Content-Transfer-Encoding: base64

R0lGODdhQAGMAbMAAAAAAP/u7swzIu6ZiLsiEd1EM+5VRGaI3WYAAO67qkRV

and

From: Nathaniel Borenstein <nsb@bellcore.com>

To: Ned Freed <ned@innosoft.com>

Subject: a test message

Content-type: message/partial; id="xyx@host.com";

number=2; total=2

uwARd6q7/ywAAAAAQAGMAUME/hDISau9OOvNu/9gKI6kRJwoUa5s675wLM90l

XW5YKxqPyKRygxv2dr4czwlMCZrQLFTYHBJ2hlyQYFiaz+i0WWBou7fOq1x8vXWfU

qU1fJ2qEhYaHGjhZQmJ2QT1xBW1ak1xUdV0/VjtsbpUEDaEJCQOIpqeoNV+LXo5W

fVN3dZKceAQPvgyhwQ2lqcXGxx5wja59eJIGUNCszF90sYp50CoqFZ4DoqMMo6M

Fragmenting such messages rather than rejecting them might

be a reasonable option for some gateway services, at least

for a certain range of message sizes. Of course, it is

often difficult for a gateway to know what size limitations

will be encountered "downstream", but intelligent guesses

are often possible. Moreover, an IETF working group on SMTP

extensions has proposed augmenting SMTP with a "SIZE" verb

that would facilitate this process, thereby possibly

requiring fragmentation on the fly during message

transmission.

Note also that fragmentation or reassembly might reasonably

be performed, in differing circumstances, by either the

sending or receiving gateway systems, depending on which

system knew more about the capabilities of the other.

Using or Removing External-Body Pointers

Another MIME type oriented to extremely large messages is

the "message/external-body" type. In this type of message,

all or part of the body data is not included in the actual

message itself. Instead, the Content-Type header field

includes information that tells how the body data can be

retrieved -- either via a file system, via anonymous FTP, or

via other mechanisms.

The message/external-body type provides a new option for

mail transport services that wishes to optimize the way

bandwidth resources are used in a given environment. For

example, the basic use of message/external-body is to reduce

bandwidth in email traffic. However, when email crosses a

Borenstein [Page 5]

RFC1344 MIME and Mail Gateways June 1992

slow and expensive boundary -- e.g., a satellite link across

the Pacific -- it might make sense to retrieve the data

itself and transform the external-body reference into the

actual data. Alternately, it might make sense to copy the

data itself to a new location, closer to the message

recipients, and change the location pointed to in the

message. Because the external-body specification can

include an expiration date, message transport services can

trade off storage and bandwidth capabilities to try to

optimize the overall use of resources for very large

messages.

Such behaviors by a gateway require careful analysis of

cost/benefit tradeoffs and would be a dramatic departure

from typical mail transport services. However, the

potential benefits are quite significant, so that such the

appropriate use of these service options should be explored.

For example, the following message includes PostScript data

by external reference:

From: Nathaniel Borenstein <nsb@bellcore.com>

To: Ned Freed <ned@innosoft.com>

Subject: The latest MIME draft

Content-Type: message/external-body;

name="BodyFormats.ps";

site="thumper.bellcore.com";

Access-type=ANON-FTP;

Directory="pub";

mode="image";

expiration="Fri, 14 Jun 1991 19:13:14 -0400 (EDT)"

Content-type: application/postscript

A gateway to Australia might choose to copy the file to an

Australian FTP archive, changing the relevant parameters on

the Content-type header field. Alternately, it might choose

simply to transform the message into one in which all the

data were included:

From: Nathaniel Borenstein <nsb@bellcore.com>

To: Ned Freed <ned@innosoft.com>

Subject: The latest MIME draft

Content-type: application/postscript

%!PS-Adobe-1.0

%%Creator: greenbush:nsb (Nathaniel Borenstein,MRE 2A-

274,4270,9938586,21462)

etc...

This is an example which suggests both the benefits and the

dangers. There is considerable benefit to having a copy of

the data immediately available, but there also may be

considerable expense involved in transporting it to all of

Borenstein [Page 6]

RFC1344 MIME and Mail Gateways June 1992

a the members of a list, if only a few will use the data

anytime soon.

Alternatively, instead of replacing an external-body message

with its real contents, it might make sense to transform it

into a "multipart/alternative" message containing both the

external body reference and the expanded version. This

means that only the external body part can be forwarded if

desired, and the recipient doesn't lose the information as

to where the data was fetched from, if they want to fetch an

up-to-date version in the future. Such information could be

represented, in MIME, in the following form:

From: Nathaniel Borenstein <nsb@bellcore.com>

To: Ned Freed <ned@innosoft.com>

Subject: The latest MIME draft

Content-type: multipart/alternative; boundary=foo

--foo

Content-Type: message/external-body;

name="BodyFormats.ps";

site="thumper.bellcore.com";

access-type=ANON-FTP;

directory="pub";

mode="image";

expiration="Fri, 14 Jun 1991 19:13:14 -0400 (EDT)"

Content-type: application/postscript

--foo

Content-type: application/postscript

%!PS-Adobe-1.0

%%Creator: greenbush:nsb (Nathaniel Borenstein,MRE 2A-

274,4270,9938586,21462)

etc...

--foo--

Similarly for the case where a message is copied to a local

FTP site, one could offer two external body parts as the

alternatives, allowing the user agent to choose which FTP

site is preferred.

Image and other Format Conversions

MIME currently defines two image formats, image/gif and

image/jpeg. The former is much more convenient for many

users, and can be displayed more quickly on many systems.

The latter is a much more compact representation, and

therfore places less stress on mail transport facilities.

Message transport services can optimize both transport

bandwidth and user convenience by intelligent translation

between these formats (and other formats that might be added

later). When a message of type image/gif is submitted for

Borenstein [Page 7]

RFC1344 MIME and Mail Gateways June 1992

long-haul delivery, it might reasonably be translated to

image/jpeg. Conversely, when image/jpeg data is received

for final delivery on a system with adequate storage

resources, it might be translated to image/gif for the

convenience of the recipient. Software to perform these

translations is widely available. It should be noted,

however, that performance of such conversions presumes

support for the new format by the recipient.

Although MIME currently only defines one audio format, more

are likely to be defined and registered with IANA in the

future. In that case, similar format conversion facilities

might be appropriate for audio.

If format conversion is done, it is STRONGLY RECOMMENDED

that some kind of trace information (probably in the form of

a Received header field) should be added to a message to

document the conversion that has been performed.

Some people have expressed concerns, or even the opinion

that conversions should never be done. To accomodate the

desires of those who dislike the idea of automatic format

conversion. For this reason, it is suggested that such

transformations be generally restricted to gateways rather

than general message transport services, and that services

which perform such conversions should be sensitive to a

header field that indicates that the sender does not wish to

have any such conversions performed. A suggested value for

this header field is:

Content-Conversion: prohibited

User agents that wish to explicitly indicate a willingness

for such conversions to be performed may use:

Content-Conversion: permitted

However, this will be the default assumption of many

gateways, so this header field is not strictly necessary.

It also should be noted that such control of conversion

would only be available to the sender, rather than to any of

the recipients.

Borenstein [Page 8]

RFC1344 MIME and Mail Gateways June 1992

Robust Encoding of Data

In addition to all the reasons given above for possible

transformation of body data, it will sometimes be the case

that a gateway can tell that the body data, as given, will

not robustly survive the next step of transport. For

example, mail crossing an ASCII-to-EBCDIC gateway will lose

information if certain characters are used. In such cases,

a gateway can make the data more robust simply by applying

one of the MIME Content-Transfer-Encoding algorithms (base64

or quoted-printable) to the body or body part. This will

generally be a loss-less transformation, but care must be

taken to ensure that the resulting message is MIME-

conformant if the inital message was not. (For example, a

MIME-Version header field may need to be added.)

User-oriented concerns

If a gateway is going to perform major transformations on a

mail message, such as translating image formats or mapping

between included data and external-reference data, it seems

inevitable that there will be situations in which users will

object to these transformations. This is, in large part, an

implementation issue, but it seems advisable, wherever

possible, to provide a mechanism whereby users can specify,

to the transport system, whether or not they want such

services performed automatically on their behalf. The use of

the "Content-Conversion" header field, as mentioned above,

is suggested for this purpose, since it it least provides

some control by the sender, if not the recipient.

References

[RFC-1341] Borenstein, N., and N. Freed, "MIME

(Multipurpose Internet Mail Extensions): Mechanisms for

Specifying and Describing the Format of Internet Message

Bodies", RFC1341, Bellcore, June, 1992.

Security Considerations

Security issues are not discussed in this memo.

Author's Address

Nathaniel S. Borenstein

MRE 2D-296, Bellcore

445 South St.

Morristown, NJ 07962-1910

Email: nsb@bellcore.com

Phone: +1 201 829 4270

Fax: +1 201 829 7019

Borenstein

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有