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 ...
Get Java Network Programming, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.