In an earlier post I described how you can take a MIME.822 from a received internet mail and drop it back in the GWIA. In this post I want to tell you the kind of things we look for when we get these.
A common issue is bad boundary definitions seperating the parts of a multipart mail. Normally, near the top of the message you'll see a line like this:
Content-Type: multipart/mixed; boundary="=__Part6B4800F3.0__="
This basically means 'there are many parts of this mail and they are seperated by this boundary: =__Part6B4800F3.0__="
Every time a new part is needed (attachment, graphic etc) the boundary is inserted, preceded by 2 hyphens (--) so:
We can use this as many times as we want and, in fact, we can declare new boundary definitions inside other boundaries.
When we are done with a boundary definition, or want to end the mail, then we use 2 trailing hyphens, so:
All of this is governed by RFC, or internet rules. 2821 and 2822 for basic SMTP and 2045 thru 2049 for MIME. So, what problems have I seen with these?
I have seen mails with boundaries that are too long, the RFC allows 70 characters so boundaries that exceed this violate RFC. Doing a global search and replace on the boundary will allow the mail to be processed - any string can be used as long as it is unique in that mail.
I have seen mailers either not using the final boundary or missing the two last hyphens, so GWIA thinks there is more to come in the message. I have seen mailers putting content after the final boundary so it doesn't appear in the client. The thing that these all have in common is that they are not RFC compliant.
Does anyone else have good examples? Messages that they are having problems with?