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