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\"")));

Reply via email to