On Fri, Jul 17, 2009 at 01:38:04PM -0500, Kyle Wheeler wrote:

> For example, I often get emails from corporate secretaries that use
> Outlook and some goofy HTML stationery (complete with background
> picture, goofy fonts, corporate logo, etc.). Knowing that it's a
> complex MIME structure isn't a useful piece of information to me.

Yeah, you want to know what the message says and if something is
attached that you might want to do something with. For that, you don't
want/need to care about how a message is made up.

> But to each his own, I suppose.

yeah

> > What is the usefulness of knowing if something is attached to a 
> > message that you might want to save to a separate file? It's useful to 
> > you, but not really useful to me.
> 
> Well, the usefulness to me is that occasionally I receive messages 
> that don't make it clear that there IS an attachment in the text. For 
> example, I'll get an email that reads "Can you make sure that the 
> schedules are right for next month?". It also has a copy of the 
> schedules attached (probably that's messed up and isn't what had 
> previously been established as the schedules), but that's an easy fact 
> to miss in a text-based email reader (GUI email programs, and webmail, 
> often make such things a bit more obvious).

Hm, somehow I've never had that problem. When reading the message, I
find out if something is attached.

But yes, you're right that for such cases it would be nice if it was
more obvious that there is an attachment. Perhaps you can somehow
change the color of the status line to white on red or change the
color of the message display to white on blue in case a message has a
part that is not designated as inline but as attachment.

For this, mutt would first have to be able to count attachments
exactly the way the user wants them to be counted.

> > How do you want to unload, i. e. would you prefer to unload all the 
> > bricks at once by unloading the container (save the whole container to 
> > disk with everything in it), or would you rather open the container 
> > and unload (save to disk) one brick (file) at a time?
> 
> See, here's where I think the metaphor becomes a bit strained. I don't 
> know how what you're talking about maps back to email.

Well, you could have a message with a container. The container could
contain a number of files, JPEGs for example --- maybe portraits of
your relatives. You could have a choice: Do you want to go to every
file in the list and save one after another, or would you rather go to
the container and save the whole container with all the files in it at
once (as a new directory containing all the JPEGs).


> That, I think, pretty much restates what I was saying.
> In particular, mutt observes and respects the two disposition types 
> outlined in that RFC:

Now I see what you mean. Well, you're right when you say that not
every attachment is an attachment.

>      2.1  The Inline Disposition Type
>      2.2  The Attachment Disposition Type
> >> For the umpteenth time, no, not all MIME entities are attachments.
> >
> > To me, they are.
> 
> Well, then I think it's safe to say that you have a rather unusual 
> view of MIME entities that is not shared by (at least some of) the 
> designers of the MIME standard.

Sort of ... When I started using email, there weren't any attachments
or inlines. If you wanted to send someone something that didn't
contain only ASCII characters (and a few others) --- i. e. a file ---
you would use an uuencoder to convert the file into characters you
could send in a mail. The recipient would save the mail and eventually
have to edit it to remove header lines and use an uudecoder to convert
the message back into a file. And that was all there was; base64 came
some time later but didn't work as well for that. Since different
users would use different uuencoders and uudecoders, recipients were
not always able to decode a message, or senders were not always able
to encode a message so that the recipient could decode it.

At some time, all this mime crap (that's how I still think of it) was
invented. It's very useful for the purpose of sending files because it
makes that easier and more reliable. What they did was basically
changing the encoding from uucode to base64 and moving the file from
the body of the mail to the end of the mail, i. e. they made it an
attachment instead of putting it into the mail. You were able to do
the same with uucode if you got a good en-/decoder, and you would even
see that the uucode is in the message.

To me, sending files is pretty much the only thing the mime stuff is
good for and the only thing it should be used for, with the exception
of using it for encryption (I used that before there was mime, too,
and mime only made it easier ...). I don't want and don't need mails
written in HTML or MS Word or something. That really isn't needed, and
I don't like it. Mails are plain text. (I'm aware it's not that easy
when different languages come into play ...) In the extremely rare
case that plain text isn't sufficient, you can always attach a file,
like PDF, or zip up a LaTeX source and attach that. (One thing I keep
wondering about is why they didn't invent a standard for using
footnotes in email. It isn't really needed, but could be useful ...)

Then read RFC822 ... That's where my understanding of what an
attachment is comes from --- call me old fashioned if you want to. The
mime designers may have a different understanding and have managed to
(re-)define things. Fine, but to me, an attachment is an attachment,
no matter what it contains or how it's supposed to be displayed,
simply because it's attached to a mail. Sure, if you define what a
mail (message) is differently, it can become difficult to decide if
something is an attachment or not. And isn't it outright amazing that
the mime guys, in a way, massively failed in clearly defining what an
attachment is and what not? The distinction they came up with (inline
vs. not-inline) appears to me as very artificial and as something that
doesn't really matter. They even go so far as to say that it doesn't
matter and that a MUA should display a message the way the user
wants. That eventually negates their artificial distinction.

> > 2045 says:
> > That's a rather unlucky definition because it uses the term it defines 
> > in the definition. I don't understand what "message" means when they 
> > say "a message encapsulated in a body". Do they mean an RFC822 
> > message? Do they mean "body" in the sense of RFC822?
> 
> Keep reading:
> 
>      2.6. Body
> 
>          The term "body", when not further qualified, means the body of
>          an entity, that is, the body of either a message or of a body
>          part.
> 
>          NOTE: The previous four definitions are clearly circular. This
>          is unavoidable, since the overall structure of a MIME message
>          is indeed recursive.

They could just say that a message is everything that is transferred
between the DATA command and the end marker in an SMTP session (see
RFC 821). They wouldn't even have to redefine what RFC822 says because
it basically says the same.

The "body of a body part"?! These people must be confused somehow. A
body part doesn't have a body, the body *is* the body part.

> As I understand it, this means that a "Message" is generally a series 
> of text lines similar to that defined in RFC 822 but that may also be 
> divided into one or more sub-parts that are encoded according to the 
> MIME standard (RFC 2045). As such, a "message" can contain another 
> "message", as long as the "contained" message is encapsulated within a 
> MIME entity/component of the other. Thus, since a MIME entity can 
> encapsulate another message, the entity's body may be a full-blown 
> "message" in and of itself.

Why don't they just say that? But what is an entity?

> > I'm afraid we can turn this back and forth as long as we want 
> > without getting anywhere.
> 
> Agreed.

Reply via email to