Repository: incubator-nifi Updated Branches: refs/heads/develop ce5a654e9 -> c5b961be5
Adding HTML support to the PutEmail service by allowing the content mime type to be configurable with a PropertyDescriptor Signed-off-by: Mark Payne <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/878e950a Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/878e950a Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/878e950a Branch: refs/heads/develop Commit: 878e950accd1822a50c792a6466645208bb4dffb Parents: 909ded3 Author: Brian Ghigiarelli <[email protected]> Authored: Fri Mar 27 14:28:21 2015 -0400 Committer: Mark Payne <[email protected]> Committed: Fri Mar 27 15:16:37 2015 -0400 ---------------------------------------------------------------------- .../apache/nifi/processors/standard/PutEmail.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/878e950a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutEmail.java ---------------------------------------------------------------------- diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutEmail.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutEmail.java index f632000..144dd5b 100644 --- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutEmail.java +++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutEmail.java @@ -132,6 +132,14 @@ public class PutEmail extends AbstractProcessor { .addValidator(StandardValidators.NON_EMPTY_VALIDATOR) .defaultValue("NiFi") .build(); + public static final PropertyDescriptor CONTENT_TYPE = new PropertyDescriptor.Builder() + .name("Content Type") + .description("Mime Type used to interpret the contents of the email, such as text/plain or text/html") + .required(true) + .expressionLanguageSupported(true) + .addValidator(StandardValidators.NON_EMPTY_VALIDATOR) + .defaultValue("text/plain") + .build(); public static final PropertyDescriptor FROM = new PropertyDescriptor.Builder() .name("From") .description("Specifies the Email address to use as the sender") @@ -223,6 +231,7 @@ public class PutEmail extends AbstractProcessor { properties.add(SMTP_TLS); properties.add(SMTP_SOCKET_FACTORY); properties.add(HEADER_XMAILER); + properties.add(CONTENT_TYPE); properties.add(FROM); properties.add(TO); properties.add(CC); @@ -297,10 +306,11 @@ public class PutEmail extends AbstractProcessor { if (context.getProperty(INCLUDE_ALL_ATTRIBUTES).asBoolean()) { messageText = formatAttributes(flowFile, messageText); } - - message.setText(messageText); + + String contentType = context.getProperty(CONTENT_TYPE).evaluateAttributeExpressions(flowFile).getValue(); + message.setContent(messageText, contentType); message.setSentDate(new Date()); - + if (context.getProperty(ATTACH_FILE).asBoolean()) { final MimeBodyPart mimeText = new PreencodedMimeBodyPart("base64"); mimeText.setDataHandler(new DataHandler(new ByteArrayDataSource(Base64.encodeBase64(messageText.getBytes("UTF-8")), "text/plain; charset=\"utf-8\"")));
