Multipart Messages and File Attachments
The
way all the different text and binary file types are encoded into raw
text that can be passed through 7-bit email gateways is fairly
ingenious and rather detailed. Fortunately, the JavaMail API shields
you from those details, interesting as they are. To send a multipart
message using the JavaMail API, all you have to do is add the parts
to a MimeMultipart object, then pass that object
to the Message’s setContent( ) method. To receive a multipart message, you simply
process each of the parts individually.
Most of the methods you use to build and deconstruct multipart
messages are in the abstract
javax.mail.Multipart
class:
public abstract class Multipart extends Object
However, since this class is abstract, you’ll generally start
with a
javax.mail.internet.MimeMultipart
object instead:
public class MimeMultipart extends Multipart
Each part you add to a Multipart is an instance of
the abstract javax.mail.BodyPart class that
implements the Part interface of the last section:
public abstract class BodyPart extends Object implements Part
In Internet email, the concrete subclass of
BodyPart you’ll use is
javax.mail.internet.MimeBodyPart
:
public class MimeBodyPart extends BodyPart implements MimePart
Most of the methods you need in the MimeBodyPart
and BodyPart classes are the ones you’re
already familiar with from the Part interface,
methods such as setContent( ) and
setDataHandler( ). There are also three methods to
read the contents of a Multipart ...