This is an automated email from the ASF dual-hosted git repository.

pvillard pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/master by this push:
     new af0777b  NIFI-6834 Encoding attachment filename
af0777b is described below

commit af0777b2c947ac2d2fd41cd879fe4b947186d919
Author: Nicholas Zhan <[email protected]>
AuthorDate: Sat Nov 2 22:11:46 2019 +0800

    NIFI-6834 Encoding attachment filename
    
    Signed-off-by: Pierre Villard <[email protected]>
    
    This closes #3865.
---
 .../src/main/java/org/apache/nifi/processors/standard/PutEmail.java | 2 +-
 .../test/java/org/apache/nifi/processors/standard/TestPutEmail.java | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutEmail.java
 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutEmail.java
index b7b8232..a8c54f1 100644
--- 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutEmail.java
+++ 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutEmail.java
@@ -385,7 +385,7 @@ public class PutEmail extends AbstractProcessor {
                     }
                 });
 
-                
mimeFile.setFileName(flowFile.getAttribute(CoreAttributes.FILENAME.key()));
+                
mimeFile.setFileName(MimeUtility.encodeText(flowFile.getAttribute(CoreAttributes.FILENAME.key())));
                 MimeMultipart multipart = new MimeMultipart();
                 multipart.addBodyPart(mimeText);
                 multipart.addBodyPart(mimeFile);
diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestPutEmail.java
 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestPutEmail.java
index 97ff77e..659912f 100644
--- 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestPutEmail.java
+++ 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestPutEmail.java
@@ -36,6 +36,7 @@ import javax.mail.internet.MimeUtility;
 import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.codec.binary.StringUtils;
 import org.apache.commons.io.IOUtils;
+import org.apache.nifi.flowfile.attributes.CoreAttributes;
 import org.apache.nifi.util.LogMessage;
 import org.apache.nifi.util.TestRunner;
 import org.apache.nifi.util.TestRunners;
@@ -228,7 +229,9 @@ public class TestPutEmail {
         runner.setProperty(PutEmail.CONTENT_TYPE, "text/html");
         runner.setProperty(PutEmail.TO, "[email protected]");
 
-        runner.enqueue("Some text".getBytes());
+        Map<String, String> attributes = new HashMap<>();
+        attributes.put(CoreAttributes.FILENAME.key(), "test한的ほу́.pdf");
+        runner.enqueue("Some text".getBytes(), attributes);
 
         runner.run();
 
@@ -253,6 +256,7 @@ public class TestPutEmail {
         final BodyPart attachPart = multipart.getBodyPart(1);
         final InputStream attachIs = 
attachPart.getDataHandler().getInputStream();
         final String text = IOUtils.toString(attachIs, "UTF-8");
+        assertEquals("test한的ほу́.pdf", 
MimeUtility.decodeText(attachPart.getFileName()));
         assertEquals("Some text", text);
 
         assertNull(message.getRecipients(RecipientType.BCC));

Reply via email to