1
2
3
4
5
6
7 package org.mule.transport.email.transformers;
8
9 import org.mule.api.transformer.TransformerException;
10 import org.mule.transformer.AbstractTransformer;
11 import org.mule.transformer.types.DataTypeFactory;
12
13 import java.io.ByteArrayOutputStream;
14
15 import javax.mail.internet.MimeMessage;
16
17 public class MimeMessageToRfc822ByteArray extends AbstractTransformer
18 {
19 public MimeMessageToRfc822ByteArray()
20 {
21 registerSourceType(DataTypeFactory.create(MimeMessage.class));
22 setReturnDataType(DataTypeFactory.BYTE_ARRAY);
23 }
24
25 @Override
26 protected Object doTransform(Object src, String outputEncoding) throws TransformerException
27 {
28 try
29 {
30 MimeMessage mime = (MimeMessage) src;
31 ByteArrayOutputStream baos = new ByteArrayOutputStream();
32 mime.writeTo(baos);
33 return baos.toByteArray();
34 }
35 catch (Exception e)
36 {
37 throw new TransformerException(this, e);
38 }
39 }
40 }