= Attachments Component
:doctitle: Attachments
:shortname: attachments
:artifactid: camel-attachments
:description: Support for attachments on Camel messages
:since: 3.0
:supportlevel: Stable
:tabs-sync-option:

*Since Camel {since}*

The Attachments component provides the `javax.attachments` API support for Apache Camel.
A few Camel component uses attachments such as mail and web-service components.
The Attachments component is included automatically when using these components.

The Attachments support is on Camel `Message` level, for example to get
the `javax.activation.DataHandler` instance of the attachment, you can do as shown below:

[source,java]
----
AttachmentMessage attMsg = exchange.getIn(AttachmentMessage.class);
Attachment attachment = attMsg.getAttachmentObject("myAttachment");
DataHandler dh = attachment.getDataHandler();
----

And if you want to add an attachment, to a Camel `Message` you can do as shown:
[source,java]
----
AttachmentMessage attMsg = exchange.getIn(AttachmentMessage.class);
attMsg.addAttachment("message1.xml", new DataHandler(new FileDataSource(new File("myMessage1.xml"))));
----
