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

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


The following commit(s) were added to refs/heads/master by this push:
     new 75edd58  CAMEL-13024: camel-mail - Add option to configure whether to 
encode attachment file name or not. Thanks to Stephan Siano for unit test.
75edd58 is described below

commit 75edd58d225883fb5e50b700b8108512103851d9
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Thu Dec 17 20:38:06 2020 +0100

    CAMEL-13024: camel-mail - Add option to configure whether to encode 
attachment file name or not. Thanks to Stephan Siano for unit test.
---
 .../apache/camel/catalog/docs/mail-component.adoc  |  6 +-
 .../component/mail/MailComponentConfigurer.java    |  6 ++
 .../component/mail/MailEndpointConfigurer.java     |  6 ++
 .../component/mail/MailEndpointUriFactory.java     |  3 +-
 .../org/apache/camel/component/mail/imap.json      |  2 +
 .../org/apache/camel/component/mail/imaps.json     |  2 +
 .../org/apache/camel/component/mail/pop3.json      |  2 +
 .../org/apache/camel/component/mail/pop3s.json     |  2 +
 .../org/apache/camel/component/mail/smtp.json      |  2 +
 .../org/apache/camel/component/mail/smtps.json     |  2 +
 .../camel-mail/src/main/docs/mail-component.adoc   |  6 +-
 .../apache/camel/component/mail/MailBinding.java   | 13 ++++-
 .../camel/component/mail/MailConfiguration.java    | 14 +++++
 .../apache/camel/component/mail/MailEndpoint.java  |  3 +-
 .../MailBindingAttachmentEncodedFilenameTest.java  | 68 ++++++++++++++++++++++
 .../component/dsl/ImapComponentBuilderFactory.java | 18 ++++++
 .../dsl/ImapsComponentBuilderFactory.java          | 18 ++++++
 .../component/dsl/Pop3ComponentBuilderFactory.java | 18 ++++++
 .../dsl/Pop3sComponentBuilderFactory.java          | 18 ++++++
 .../component/dsl/SmtpComponentBuilderFactory.java | 18 ++++++
 .../dsl/SmtpsComponentBuilderFactory.java          | 18 ++++++
 .../endpoint/dsl/MailEndpointBuilderFactory.java   | 36 ++++++++++++
 .../modules/ROOT/pages/mail-component.adoc         |  6 +-
 23 files changed, 277 insertions(+), 10 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mail-component.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mail-component.adoc
index 4602ed4..c6252c7 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mail-component.adoc
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mail-component.adoc
@@ -98,7 +98,7 @@ You can append query options to the URI in the following 
format,
 
 
 // component options: START
-The Mail component supports 42 options, which are listed below.
+The Mail component supports 43 options, which are listed below.
 
 
 
@@ -108,6 +108,7 @@ The Mail component supports 42 options, which are listed 
below.
 | *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled by the routing Error Handler. By default the 
consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions, that will be logged at WARN or ERROR level and ignored. | false | 
boolean
 | *closeFolder* (consumer) | Whether the consumer should close the folder 
after polling. Setting this option to false and having disconnect=false as 
well, then the consumer keep the folder open between polls. | true | boolean
 | *copyTo* (consumer) | After processing a mail message, it can be copied to a 
mail folder with the given name. You can override this configuration value, 
with a header with the key copyTo, allowing you to copy messages to folder 
names configured at runtime. |  | String
+| *decodeFilename* (consumer) | If set to true, the MimeUtility.decodeText 
method will be used to decode the filename. This is similar to setting JVM 
system property mail.mime.encodefilename. | false | boolean
 | *delete* (consumer) | Deletes the messages after they have been processed. 
This is done by setting the DELETED flag on the mail message. If false, the 
SEEN flag is set instead. As of Camel 2.10 you can override this configuration 
option by setting a header with the key delete to determine if the mail should 
be deleted or not. | false | boolean
 | *disconnect* (consumer) | Whether the consumer should disconnect after 
polling. If enabled this forces Camel to connect on each poll. | false | boolean
 | *handleFailedMessage* (consumer) | If the mail consumer cannot retrieve a 
given mail message, then this option allows to handle the caused exception by 
the consumer's error handler. By enable the bridge error handler on the 
consumer, then the Camel routing error handler can handle the exception 
instead. The default behavior would be the consumer throws an exception and no 
mails from the batch would be able to be routed by Camel. | false | boolean
@@ -175,7 +176,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (66 parameters):
+=== Query Parameters (67 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -184,6 +185,7 @@ with the following path and query parameters:
 | *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled by the routing Error Handler. By default the 
consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions, that will be logged at WARN or ERROR level and ignored. | false | 
boolean
 | *closeFolder* (consumer) | Whether the consumer should close the folder 
after polling. Setting this option to false and having disconnect=false as 
well, then the consumer keep the folder open between polls. | true | boolean
 | *copyTo* (consumer) | After processing a mail message, it can be copied to a 
mail folder with the given name. You can override this configuration value, 
with a header with the key copyTo, allowing you to copy messages to folder 
names configured at runtime. |  | String
+| *decodeFilename* (consumer) | If set to true, the MimeUtility.decodeText 
method will be used to decode the filename. This is similar to setting JVM 
system property mail.mime.encodefilename. | false | boolean
 | *delete* (consumer) | Deletes the messages after they have been processed. 
This is done by setting the DELETED flag on the mail message. If false, the 
SEEN flag is set instead. As of Camel 2.10 you can override this configuration 
option by setting a header with the key delete to determine if the mail should 
be deleted or not. | false | boolean
 | *disconnect* (consumer) | Whether the consumer should disconnect after 
polling. If enabled this forces Camel to connect on each poll. | false | boolean
 | *handleFailedMessage* (consumer) | If the mail consumer cannot retrieve a 
given mail message, then this option allows to handle the caused exception by 
the consumer's error handler. By enable the bridge error handler on the 
consumer, then the Camel routing error handler can handle the exception 
instead. The default behavior would be the consumer throws an exception and no 
mails from the batch would be able to be routed by Camel. | false | boolean
diff --git 
a/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailComponentConfigurer.java
 
b/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailComponentConfigurer.java
index 617c631..fdbef11 100644
--- 
a/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailComponentConfigurer.java
+++ 
b/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailComponentConfigurer.java
@@ -54,6 +54,8 @@ public class MailComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "copyTo": 
getOrCreateConfiguration(target).setCopyTo(property(camelContext, 
java.lang.String.class, value)); return true;
         case "debugmode":
         case "debugMode": 
getOrCreateConfiguration(target).setDebugMode(property(camelContext, 
boolean.class, value)); return true;
+        case "decodefilename":
+        case "decodeFilename": 
getOrCreateConfiguration(target).setDecodeFilename(property(camelContext, 
boolean.class, value)); return true;
         case "delete": 
getOrCreateConfiguration(target).setDelete(property(camelContext, 
boolean.class, value)); return true;
         case "disconnect": 
getOrCreateConfiguration(target).setDisconnect(property(camelContext, 
boolean.class, value)); return true;
         case "fetchsize":
@@ -131,6 +133,8 @@ public class MailComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "copyTo": return java.lang.String.class;
         case "debugmode":
         case "debugMode": return boolean.class;
+        case "decodefilename":
+        case "decodeFilename": return boolean.class;
         case "delete": return boolean.class;
         case "disconnect": return boolean.class;
         case "fetchsize":
@@ -209,6 +213,8 @@ public class MailComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "copyTo": return getOrCreateConfiguration(target).getCopyTo();
         case "debugmode":
         case "debugMode": return 
getOrCreateConfiguration(target).isDebugMode();
+        case "decodefilename":
+        case "decodeFilename": return 
getOrCreateConfiguration(target).isDecodeFilename();
         case "delete": return getOrCreateConfiguration(target).isDelete();
         case "disconnect": return 
getOrCreateConfiguration(target).isDisconnect();
         case "fetchsize":
diff --git 
a/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailEndpointConfigurer.java
 
b/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailEndpointConfigurer.java
index c1c90e8..312633c 100644
--- 
a/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailEndpointConfigurer.java
+++ 
b/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailEndpointConfigurer.java
@@ -51,6 +51,8 @@ public class MailEndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "copyTo": 
target.getConfiguration().setCopyTo(property(camelContext, 
java.lang.String.class, value)); return true;
         case "debugmode":
         case "debugMode": 
target.getConfiguration().setDebugMode(property(camelContext, boolean.class, 
value)); return true;
+        case "decodefilename":
+        case "decodeFilename": 
target.getConfiguration().setDecodeFilename(property(camelContext, 
boolean.class, value)); return true;
         case "delay": target.setDelay(property(camelContext, 
java.time.Duration.class, value).toMillis()); return true;
         case "delete": 
target.getConfiguration().setDelete(property(camelContext, boolean.class, 
value)); return true;
         case "disconnect": 
target.getConfiguration().setDisconnect(property(camelContext, boolean.class, 
value)); return true;
@@ -172,6 +174,8 @@ public class MailEndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "copyTo": return java.lang.String.class;
         case "debugmode":
         case "debugMode": return boolean.class;
+        case "decodefilename":
+        case "decodeFilename": return boolean.class;
         case "delay": return long.class;
         case "delete": return boolean.class;
         case "disconnect": return boolean.class;
@@ -294,6 +298,8 @@ public class MailEndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "copyTo": return target.getConfiguration().getCopyTo();
         case "debugmode":
         case "debugMode": return target.getConfiguration().isDebugMode();
+        case "decodefilename":
+        case "decodeFilename": return 
target.getConfiguration().isDecodeFilename();
         case "delay": return target.getDelay();
         case "delete": return target.getConfiguration().isDelete();
         case "disconnect": return target.getConfiguration().isDisconnect();
diff --git 
a/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailEndpointUriFactory.java
 
b/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailEndpointUriFactory.java
index 371e7d45..9cb71c8 100644
--- 
a/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailEndpointUriFactory.java
+++ 
b/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailEndpointUriFactory.java
@@ -21,7 +21,7 @@ public class MailEndpointUriFactory extends 
org.apache.camel.support.component.E
     private static final Set<String> PROPERTY_NAMES;
     private static final Set<String> SECRET_PROPERTY_NAMES;
     static {
-        Set<String> props = new HashSet<>(68);
+        Set<String> props = new HashSet<>(69);
         props.add("disconnect");
         props.add("contentTypeResolver");
         props.add("subject");
@@ -85,6 +85,7 @@ public class MailEndpointUriFactory extends 
org.apache.camel.support.component.E
         props.add("ignoreUriScheme");
         props.add("peek");
         props.add("pollStrategy");
+        props.add("decodeFilename");
         props.add("to");
         props.add("javaMailProperties");
         props.add("unseen");
diff --git 
a/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/imap.json
 
b/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/imap.json
index a5ef97a..c5490ad 100644
--- 
a/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/imap.json
+++ 
b/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/imap.json
@@ -27,6 +27,7 @@
     "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a me [...]
     "closeFolder": { "kind": "property", "displayName": "Close Folder", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should close the folder 
after polling. Setting this option to f [...]
     "copyTo": { "kind": "property", "displayName": "Copy To", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "After processing a mail message, it can be 
copied to a mail folder with the given name. You can override thi [...]
+    "decodeFilename": { "kind": "property", "displayName": "Decode Filename", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "If set to true, the MimeUtility.decodeText 
method will be used to decode the filename. This is simil [...]
     "delete": { "kind": "property", "displayName": "Delete", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Deletes the messages after they have been 
processed. This is done by setting the DELETED flag  [...]
     "disconnect": { "kind": "property", "displayName": "Disconnect", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should disconnect after 
polling. If enabled this forces Camel to  [...]
     "handleFailedMessage": { "kind": "property", "displayName": "Handle Failed 
Message", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "If the mail consumer 
cannot retrieve a given mail message, then th [...]
@@ -73,6 +74,7 @@
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a m [...]
     "closeFolder": { "kind": "parameter", "displayName": "Close Folder", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should close the folder 
after polling. Setting this option to  [...]
     "copyTo": { "kind": "parameter", "displayName": "Copy To", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "After processing a mail message, it can be 
copied to a mail folder with the given name. You can override th [...]
+    "decodeFilename": { "kind": "parameter", "displayName": "Decode Filename", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "If set to true, the MimeUtility.decodeText 
method will be used to decode the filename. This is simi [...]
     "delete": { "kind": "parameter", "displayName": "Delete", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Deletes the messages after they have been 
processed. This is done by setting the DELETED flag [...]
     "disconnect": { "kind": "parameter", "displayName": "Disconnect", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should disconnect after 
polling. If enabled this forces Camel to [...]
     "handleFailedMessage": { "kind": "parameter", "displayName": "Handle 
Failed Message", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "If the mail consumer cannot retrieve a given 
mail message, then t [...]
diff --git 
a/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/imaps.json
 
b/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/imaps.json
index 14f4ba6..295a7ed 100644
--- 
a/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/imaps.json
+++ 
b/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/imaps.json
@@ -27,6 +27,7 @@
     "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a me [...]
     "closeFolder": { "kind": "property", "displayName": "Close Folder", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should close the folder 
after polling. Setting this option to f [...]
     "copyTo": { "kind": "property", "displayName": "Copy To", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "After processing a mail message, it can be 
copied to a mail folder with the given name. You can override thi [...]
+    "decodeFilename": { "kind": "property", "displayName": "Decode Filename", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "If set to true, the MimeUtility.decodeText 
method will be used to decode the filename. This is simil [...]
     "delete": { "kind": "property", "displayName": "Delete", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Deletes the messages after they have been 
processed. This is done by setting the DELETED flag  [...]
     "disconnect": { "kind": "property", "displayName": "Disconnect", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should disconnect after 
polling. If enabled this forces Camel to  [...]
     "handleFailedMessage": { "kind": "property", "displayName": "Handle Failed 
Message", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "If the mail consumer 
cannot retrieve a given mail message, then th [...]
@@ -73,6 +74,7 @@
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a m [...]
     "closeFolder": { "kind": "parameter", "displayName": "Close Folder", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should close the folder 
after polling. Setting this option to  [...]
     "copyTo": { "kind": "parameter", "displayName": "Copy To", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "After processing a mail message, it can be 
copied to a mail folder with the given name. You can override th [...]
+    "decodeFilename": { "kind": "parameter", "displayName": "Decode Filename", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "If set to true, the MimeUtility.decodeText 
method will be used to decode the filename. This is simi [...]
     "delete": { "kind": "parameter", "displayName": "Delete", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Deletes the messages after they have been 
processed. This is done by setting the DELETED flag [...]
     "disconnect": { "kind": "parameter", "displayName": "Disconnect", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should disconnect after 
polling. If enabled this forces Camel to [...]
     "handleFailedMessage": { "kind": "parameter", "displayName": "Handle 
Failed Message", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "If the mail consumer cannot retrieve a given 
mail message, then t [...]
diff --git 
a/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/pop3.json
 
b/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/pop3.json
index ab308db..daef758 100644
--- 
a/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/pop3.json
+++ 
b/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/pop3.json
@@ -27,6 +27,7 @@
     "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a me [...]
     "closeFolder": { "kind": "property", "displayName": "Close Folder", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should close the folder 
after polling. Setting this option to f [...]
     "copyTo": { "kind": "property", "displayName": "Copy To", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "After processing a mail message, it can be 
copied to a mail folder with the given name. You can override thi [...]
+    "decodeFilename": { "kind": "property", "displayName": "Decode Filename", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "If set to true, the MimeUtility.decodeText 
method will be used to decode the filename. This is simil [...]
     "delete": { "kind": "property", "displayName": "Delete", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Deletes the messages after they have been 
processed. This is done by setting the DELETED flag  [...]
     "disconnect": { "kind": "property", "displayName": "Disconnect", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should disconnect after 
polling. If enabled this forces Camel to  [...]
     "handleFailedMessage": { "kind": "property", "displayName": "Handle Failed 
Message", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "If the mail consumer 
cannot retrieve a given mail message, then th [...]
@@ -73,6 +74,7 @@
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a m [...]
     "closeFolder": { "kind": "parameter", "displayName": "Close Folder", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should close the folder 
after polling. Setting this option to  [...]
     "copyTo": { "kind": "parameter", "displayName": "Copy To", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "After processing a mail message, it can be 
copied to a mail folder with the given name. You can override th [...]
+    "decodeFilename": { "kind": "parameter", "displayName": "Decode Filename", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "If set to true, the MimeUtility.decodeText 
method will be used to decode the filename. This is simi [...]
     "delete": { "kind": "parameter", "displayName": "Delete", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Deletes the messages after they have been 
processed. This is done by setting the DELETED flag [...]
     "disconnect": { "kind": "parameter", "displayName": "Disconnect", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should disconnect after 
polling. If enabled this forces Camel to [...]
     "handleFailedMessage": { "kind": "parameter", "displayName": "Handle 
Failed Message", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "If the mail consumer cannot retrieve a given 
mail message, then t [...]
diff --git 
a/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/pop3s.json
 
b/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/pop3s.json
index 2ae6808..62664a0 100644
--- 
a/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/pop3s.json
+++ 
b/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/pop3s.json
@@ -27,6 +27,7 @@
     "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a me [...]
     "closeFolder": { "kind": "property", "displayName": "Close Folder", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should close the folder 
after polling. Setting this option to f [...]
     "copyTo": { "kind": "property", "displayName": "Copy To", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "After processing a mail message, it can be 
copied to a mail folder with the given name. You can override thi [...]
+    "decodeFilename": { "kind": "property", "displayName": "Decode Filename", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "If set to true, the MimeUtility.decodeText 
method will be used to decode the filename. This is simil [...]
     "delete": { "kind": "property", "displayName": "Delete", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Deletes the messages after they have been 
processed. This is done by setting the DELETED flag  [...]
     "disconnect": { "kind": "property", "displayName": "Disconnect", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should disconnect after 
polling. If enabled this forces Camel to  [...]
     "handleFailedMessage": { "kind": "property", "displayName": "Handle Failed 
Message", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "If the mail consumer 
cannot retrieve a given mail message, then th [...]
@@ -73,6 +74,7 @@
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a m [...]
     "closeFolder": { "kind": "parameter", "displayName": "Close Folder", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should close the folder 
after polling. Setting this option to  [...]
     "copyTo": { "kind": "parameter", "displayName": "Copy To", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "After processing a mail message, it can be 
copied to a mail folder with the given name. You can override th [...]
+    "decodeFilename": { "kind": "parameter", "displayName": "Decode Filename", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "If set to true, the MimeUtility.decodeText 
method will be used to decode the filename. This is simi [...]
     "delete": { "kind": "parameter", "displayName": "Delete", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Deletes the messages after they have been 
processed. This is done by setting the DELETED flag [...]
     "disconnect": { "kind": "parameter", "displayName": "Disconnect", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should disconnect after 
polling. If enabled this forces Camel to [...]
     "handleFailedMessage": { "kind": "parameter", "displayName": "Handle 
Failed Message", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "If the mail consumer cannot retrieve a given 
mail message, then t [...]
diff --git 
a/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/smtp.json
 
b/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/smtp.json
index c11e314..4c444d1 100644
--- 
a/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/smtp.json
+++ 
b/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/smtp.json
@@ -27,6 +27,7 @@
     "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a me [...]
     "closeFolder": { "kind": "property", "displayName": "Close Folder", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should close the folder 
after polling. Setting this option to f [...]
     "copyTo": { "kind": "property", "displayName": "Copy To", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "After processing a mail message, it can be 
copied to a mail folder with the given name. You can override thi [...]
+    "decodeFilename": { "kind": "property", "displayName": "Decode Filename", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "If set to true, the MimeUtility.decodeText 
method will be used to decode the filename. This is simil [...]
     "delete": { "kind": "property", "displayName": "Delete", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Deletes the messages after they have been 
processed. This is done by setting the DELETED flag  [...]
     "disconnect": { "kind": "property", "displayName": "Disconnect", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should disconnect after 
polling. If enabled this forces Camel to  [...]
     "handleFailedMessage": { "kind": "property", "displayName": "Handle Failed 
Message", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "If the mail consumer 
cannot retrieve a given mail message, then th [...]
@@ -73,6 +74,7 @@
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a m [...]
     "closeFolder": { "kind": "parameter", "displayName": "Close Folder", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should close the folder 
after polling. Setting this option to  [...]
     "copyTo": { "kind": "parameter", "displayName": "Copy To", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "After processing a mail message, it can be 
copied to a mail folder with the given name. You can override th [...]
+    "decodeFilename": { "kind": "parameter", "displayName": "Decode Filename", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "If set to true, the MimeUtility.decodeText 
method will be used to decode the filename. This is simi [...]
     "delete": { "kind": "parameter", "displayName": "Delete", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Deletes the messages after they have been 
processed. This is done by setting the DELETED flag [...]
     "disconnect": { "kind": "parameter", "displayName": "Disconnect", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should disconnect after 
polling. If enabled this forces Camel to [...]
     "handleFailedMessage": { "kind": "parameter", "displayName": "Handle 
Failed Message", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "If the mail consumer cannot retrieve a given 
mail message, then t [...]
diff --git 
a/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/smtps.json
 
b/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/smtps.json
index b612916..463f223 100644
--- 
a/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/smtps.json
+++ 
b/components/camel-mail/src/generated/resources/org/apache/camel/component/mail/smtps.json
@@ -27,6 +27,7 @@
     "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a me [...]
     "closeFolder": { "kind": "property", "displayName": "Close Folder", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should close the folder 
after polling. Setting this option to f [...]
     "copyTo": { "kind": "property", "displayName": "Copy To", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "After processing a mail message, it can be 
copied to a mail folder with the given name. You can override thi [...]
+    "decodeFilename": { "kind": "property", "displayName": "Decode Filename", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "If set to true, the MimeUtility.decodeText 
method will be used to decode the filename. This is simil [...]
     "delete": { "kind": "property", "displayName": "Delete", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Deletes the messages after they have been 
processed. This is done by setting the DELETED flag  [...]
     "disconnect": { "kind": "property", "displayName": "Disconnect", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should disconnect after 
polling. If enabled this forces Camel to  [...]
     "handleFailedMessage": { "kind": "property", "displayName": "Handle Failed 
Message", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "If the mail consumer 
cannot retrieve a given mail message, then th [...]
@@ -73,6 +74,7 @@
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a m [...]
     "closeFolder": { "kind": "parameter", "displayName": "Close Folder", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should close the folder 
after polling. Setting this option to  [...]
     "copyTo": { "kind": "parameter", "displayName": "Copy To", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "After processing a mail message, it can be 
copied to a mail folder with the given name. You can override th [...]
+    "decodeFilename": { "kind": "parameter", "displayName": "Decode Filename", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "If set to true, the MimeUtility.decodeText 
method will be used to decode the filename. This is simi [...]
     "delete": { "kind": "parameter", "displayName": "Delete", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Deletes the messages after they have been 
processed. This is done by setting the DELETED flag [...]
     "disconnect": { "kind": "parameter", "displayName": "Disconnect", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether the consumer should disconnect after 
polling. If enabled this forces Camel to [...]
     "handleFailedMessage": { "kind": "parameter", "displayName": "Handle 
Failed Message", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "If the mail consumer cannot retrieve a given 
mail message, then t [...]
diff --git a/components/camel-mail/src/main/docs/mail-component.adoc 
b/components/camel-mail/src/main/docs/mail-component.adoc
index 4602ed4..c6252c7 100644
--- a/components/camel-mail/src/main/docs/mail-component.adoc
+++ b/components/camel-mail/src/main/docs/mail-component.adoc
@@ -98,7 +98,7 @@ You can append query options to the URI in the following 
format,
 
 
 // component options: START
-The Mail component supports 42 options, which are listed below.
+The Mail component supports 43 options, which are listed below.
 
 
 
@@ -108,6 +108,7 @@ The Mail component supports 42 options, which are listed 
below.
 | *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled by the routing Error Handler. By default the 
consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions, that will be logged at WARN or ERROR level and ignored. | false | 
boolean
 | *closeFolder* (consumer) | Whether the consumer should close the folder 
after polling. Setting this option to false and having disconnect=false as 
well, then the consumer keep the folder open between polls. | true | boolean
 | *copyTo* (consumer) | After processing a mail message, it can be copied to a 
mail folder with the given name. You can override this configuration value, 
with a header with the key copyTo, allowing you to copy messages to folder 
names configured at runtime. |  | String
+| *decodeFilename* (consumer) | If set to true, the MimeUtility.decodeText 
method will be used to decode the filename. This is similar to setting JVM 
system property mail.mime.encodefilename. | false | boolean
 | *delete* (consumer) | Deletes the messages after they have been processed. 
This is done by setting the DELETED flag on the mail message. If false, the 
SEEN flag is set instead. As of Camel 2.10 you can override this configuration 
option by setting a header with the key delete to determine if the mail should 
be deleted or not. | false | boolean
 | *disconnect* (consumer) | Whether the consumer should disconnect after 
polling. If enabled this forces Camel to connect on each poll. | false | boolean
 | *handleFailedMessage* (consumer) | If the mail consumer cannot retrieve a 
given mail message, then this option allows to handle the caused exception by 
the consumer's error handler. By enable the bridge error handler on the 
consumer, then the Camel routing error handler can handle the exception 
instead. The default behavior would be the consumer throws an exception and no 
mails from the batch would be able to be routed by Camel. | false | boolean
@@ -175,7 +176,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (66 parameters):
+=== Query Parameters (67 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -184,6 +185,7 @@ with the following path and query parameters:
 | *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled by the routing Error Handler. By default the 
consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions, that will be logged at WARN or ERROR level and ignored. | false | 
boolean
 | *closeFolder* (consumer) | Whether the consumer should close the folder 
after polling. Setting this option to false and having disconnect=false as 
well, then the consumer keep the folder open between polls. | true | boolean
 | *copyTo* (consumer) | After processing a mail message, it can be copied to a 
mail folder with the given name. You can override this configuration value, 
with a header with the key copyTo, allowing you to copy messages to folder 
names configured at runtime. |  | String
+| *decodeFilename* (consumer) | If set to true, the MimeUtility.decodeText 
method will be used to decode the filename. This is similar to setting JVM 
system property mail.mime.encodefilename. | false | boolean
 | *delete* (consumer) | Deletes the messages after they have been processed. 
This is done by setting the DELETED flag on the mail message. If false, the 
SEEN flag is set instead. As of Camel 2.10 you can override this configuration 
option by setting a header with the key delete to determine if the mail should 
be deleted or not. | false | boolean
 | *disconnect* (consumer) | Whether the consumer should disconnect after 
polling. If enabled this forces Camel to connect on each poll. | false | boolean
 | *handleFailedMessage* (consumer) | If the mail consumer cannot retrieve a 
given mail message, then this option allows to handle the caused exception by 
the consumer's error handler. By enable the bridge error handler on the 
consumer, then the Camel routing error handler can handle the exception 
instead. The default behavior would be the consumer throws an exception and no 
mails from the batch would be able to be routed by Camel. | false | boolean
diff --git 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
index d93501d..e6a46be 100644
--- 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
+++ 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
@@ -70,14 +70,17 @@ public class MailBinding {
     private static final Logger LOG = 
LoggerFactory.getLogger(MailBinding.class);
     private HeaderFilterStrategy headerFilterStrategy;
     private ContentTypeResolver contentTypeResolver;
+    private boolean decodeFilename;
 
     public MailBinding() {
         headerFilterStrategy = new DefaultHeaderFilterStrategy();
     }
 
-    public MailBinding(HeaderFilterStrategy headerFilterStrategy, 
ContentTypeResolver contentTypeResolver) {
+    public MailBinding(HeaderFilterStrategy headerFilterStrategy, 
ContentTypeResolver contentTypeResolver,
+                       boolean decodeFilename) {
         this.headerFilterStrategy = headerFilterStrategy;
         this.contentTypeResolver = contentTypeResolver;
+        this.decodeFilename = decodeFilename;
     }
 
     public void populateMailMessage(MailEndpoint endpoint, MimeMessage 
mimeMessage, Exchange exchange)
@@ -322,7 +325,13 @@ public class MailBinding {
                 extractAttachmentsFromMultipart((Multipart) part.getContent(), 
map);
             } else {
                 String disposition = part.getDisposition();
-                String fileName = FileUtil.stripPath(part.getFileName());
+                String fileName = part.getFileName();
+                if (fileName != null && decodeFilename) {
+                    fileName = MimeUtility.decodeText(fileName);
+                }
+                if (fileName != null) {
+                    fileName = FileUtil.stripPath(fileName);
+                }
 
                 if (LOG.isTraceEnabled()) {
                     LOG.trace("Part #{}: Disposition: {}", i, disposition);
diff --git 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
index cf7a98c..0ed8de6 100644
--- 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
+++ 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
@@ -126,6 +126,8 @@ public class MailConfiguration implements Cloneable {
     @UriParam(defaultValue = "false")
     @Metadata(label = "consumer")
     private boolean mimeDecodeHeaders;
+    @UriParam(label = "consumer")
+    private boolean decodeFilename;
     @UriParam(label = "security")
     private SSLContextParameters sslContextParameters;
     @UriParam(label = "advanced", prefix = "mail.", multiValue = true)
@@ -814,4 +816,16 @@ public class MailConfiguration implements Cloneable {
     public boolean isMimeDecodeHeaders() {
         return mimeDecodeHeaders;
     }
+
+    public boolean isDecodeFilename() {
+        return decodeFilename;
+    }
+
+    /**
+     * If set to true, the MimeUtility.decodeText method will be used to 
decode the filename. This is similar to setting
+     * JVM system property mail.mime.encodefilename.
+     */
+    public void setDecodeFilename(boolean decodeFilename) {
+        this.decodeFilename = decodeFilename;
+    }
 }
diff --git 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
index 5683127..c7723cd 100644
--- 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
+++ 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
@@ -138,7 +138,8 @@ public class MailEndpoint extends ScheduledPollEndpoint 
implements HeaderFilterS
 
     public MailBinding getBinding() {
         if (binding == null) {
-            binding = new MailBinding(headerFilterStrategy, 
contentTypeResolver);
+            boolean decode = getConfiguration() != null && 
getConfiguration().isDecodeFilename();
+            binding = new MailBinding(headerFilterStrategy, 
contentTypeResolver, decode);
         }
         return binding;
     }
diff --git 
a/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailBindingAttachmentEncodedFilenameTest.java
 
b/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailBindingAttachmentEncodedFilenameTest.java
new file mode 100644
index 0000000..3ebd6b6
--- /dev/null
+++ 
b/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailBindingAttachmentEncodedFilenameTest.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.mail;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+import javax.activation.DataHandler;
+import javax.mail.Message;
+import javax.mail.Multipart;
+import javax.mail.Part;
+import javax.mail.Session;
+import javax.mail.internet.MimeBodyPart;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.MimeMultipart;
+import javax.mail.internet.MimeUtility;
+
+import org.apache.camel.attachment.Attachment;
+import org.apache.camel.support.DefaultHeaderFilterStrategy;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+public class MailBindingAttachmentEncodedFilenameTest {
+
+    // enable file decoding
+    private final MailBinding binding = new MailBinding(new 
DefaultHeaderFilterStrategy(), null, true);
+
+    @Test
+    public void shouldNotBreakEncodedFileNamesWithSlashes() throws Exception {
+        final Session session = Session.getInstance(new Properties());
+        final Message message = new MimeMessage(session);
+        final String encodedFilename = "=?UTF-8?B?6Kq/5pW0?=";
+        final String plainFilename = MimeUtility.decodeText(encodedFilename);
+
+        final Multipart multipart = new MimeMultipart();
+        final MimeBodyPart part = new MimeBodyPart();
+        part.attachFile(plainFilename);
+        part.setFileName(encodedFilename);
+        part.setDisposition(Part.ATTACHMENT);
+        multipart.addBodyPart(part);
+        message.setContent(multipart);
+
+        final Map<String, Attachment> attachments = new HashMap<>();
+        binding.extractAttachmentsFromMail(message, attachments);
+
+        assertTrue(attachments.containsKey(plainFilename));
+        final Attachment attachment = attachments.get(plainFilename);
+        final DataHandler dataHandler = attachment.getDataHandler();
+        assertEquals(plainFilename, dataHandler.getName());
+    }
+}
diff --git 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ImapComponentBuilderFactory.java
 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ImapComponentBuilderFactory.java
index f04d816..bbc17a0 100644
--- 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ImapComponentBuilderFactory.java
+++ 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ImapComponentBuilderFactory.java
@@ -105,6 +105,23 @@ public interface ImapComponentBuilderFactory {
             return this;
         }
         /**
+         * If set to true, the MimeUtility.decodeText method will be used to
+         * decode the filename. This is similar to setting JVM system property
+         * mail.mime.encodefilename.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: consumer
+         * 
+         * @param decodeFilename the value to set
+         * @return the dsl builder
+         */
+        default ImapComponentBuilder decodeFilename(boolean decodeFilename) {
+            doSetProperty("decodeFilename", decodeFilename);
+            return this;
+        }
+        /**
          * Deletes the messages after they have been processed. This is done by
          * setting the DELETED flag on the mail message. If false, the SEEN 
flag
          * is set instead. As of Camel 2.10 you can override this configuration
@@ -796,6 +813,7 @@ public interface ImapComponentBuilderFactory {
             case "bridgeErrorHandler": ((MailComponent) 
component).setBridgeErrorHandler((boolean) value); return true;
             case "closeFolder": getOrCreateConfiguration((MailComponent) 
component).setCloseFolder((boolean) value); return true;
             case "copyTo": getOrCreateConfiguration((MailComponent) 
component).setCopyTo((java.lang.String) value); return true;
+            case "decodeFilename": getOrCreateConfiguration((MailComponent) 
component).setDecodeFilename((boolean) value); return true;
             case "delete": getOrCreateConfiguration((MailComponent) 
component).setDelete((boolean) value); return true;
             case "disconnect": getOrCreateConfiguration((MailComponent) 
component).setDisconnect((boolean) value); return true;
             case "handleFailedMessage": 
getOrCreateConfiguration((MailComponent) 
component).setHandleFailedMessage((boolean) value); return true;
diff --git 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ImapsComponentBuilderFactory.java
 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ImapsComponentBuilderFactory.java
index a82583a..76ba759 100644
--- 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ImapsComponentBuilderFactory.java
+++ 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ImapsComponentBuilderFactory.java
@@ -105,6 +105,23 @@ public interface ImapsComponentBuilderFactory {
             return this;
         }
         /**
+         * If set to true, the MimeUtility.decodeText method will be used to
+         * decode the filename. This is similar to setting JVM system property
+         * mail.mime.encodefilename.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: consumer
+         * 
+         * @param decodeFilename the value to set
+         * @return the dsl builder
+         */
+        default ImapsComponentBuilder decodeFilename(boolean decodeFilename) {
+            doSetProperty("decodeFilename", decodeFilename);
+            return this;
+        }
+        /**
          * Deletes the messages after they have been processed. This is done by
          * setting the DELETED flag on the mail message. If false, the SEEN 
flag
          * is set instead. As of Camel 2.10 you can override this configuration
@@ -799,6 +816,7 @@ public interface ImapsComponentBuilderFactory {
             case "bridgeErrorHandler": ((MailComponent) 
component).setBridgeErrorHandler((boolean) value); return true;
             case "closeFolder": getOrCreateConfiguration((MailComponent) 
component).setCloseFolder((boolean) value); return true;
             case "copyTo": getOrCreateConfiguration((MailComponent) 
component).setCopyTo((java.lang.String) value); return true;
+            case "decodeFilename": getOrCreateConfiguration((MailComponent) 
component).setDecodeFilename((boolean) value); return true;
             case "delete": getOrCreateConfiguration((MailComponent) 
component).setDelete((boolean) value); return true;
             case "disconnect": getOrCreateConfiguration((MailComponent) 
component).setDisconnect((boolean) value); return true;
             case "handleFailedMessage": 
getOrCreateConfiguration((MailComponent) 
component).setHandleFailedMessage((boolean) value); return true;
diff --git 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Pop3ComponentBuilderFactory.java
 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Pop3ComponentBuilderFactory.java
index 9205cd2..b708b31 100644
--- 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Pop3ComponentBuilderFactory.java
+++ 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Pop3ComponentBuilderFactory.java
@@ -105,6 +105,23 @@ public interface Pop3ComponentBuilderFactory {
             return this;
         }
         /**
+         * If set to true, the MimeUtility.decodeText method will be used to
+         * decode the filename. This is similar to setting JVM system property
+         * mail.mime.encodefilename.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: consumer
+         * 
+         * @param decodeFilename the value to set
+         * @return the dsl builder
+         */
+        default Pop3ComponentBuilder decodeFilename(boolean decodeFilename) {
+            doSetProperty("decodeFilename", decodeFilename);
+            return this;
+        }
+        /**
          * Deletes the messages after they have been processed. This is done by
          * setting the DELETED flag on the mail message. If false, the SEEN 
flag
          * is set instead. As of Camel 2.10 you can override this configuration
@@ -796,6 +813,7 @@ public interface Pop3ComponentBuilderFactory {
             case "bridgeErrorHandler": ((MailComponent) 
component).setBridgeErrorHandler((boolean) value); return true;
             case "closeFolder": getOrCreateConfiguration((MailComponent) 
component).setCloseFolder((boolean) value); return true;
             case "copyTo": getOrCreateConfiguration((MailComponent) 
component).setCopyTo((java.lang.String) value); return true;
+            case "decodeFilename": getOrCreateConfiguration((MailComponent) 
component).setDecodeFilename((boolean) value); return true;
             case "delete": getOrCreateConfiguration((MailComponent) 
component).setDelete((boolean) value); return true;
             case "disconnect": getOrCreateConfiguration((MailComponent) 
component).setDisconnect((boolean) value); return true;
             case "handleFailedMessage": 
getOrCreateConfiguration((MailComponent) 
component).setHandleFailedMessage((boolean) value); return true;
diff --git 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Pop3sComponentBuilderFactory.java
 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Pop3sComponentBuilderFactory.java
index 4adf089..4c17193 100644
--- 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Pop3sComponentBuilderFactory.java
+++ 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Pop3sComponentBuilderFactory.java
@@ -105,6 +105,23 @@ public interface Pop3sComponentBuilderFactory {
             return this;
         }
         /**
+         * If set to true, the MimeUtility.decodeText method will be used to
+         * decode the filename. This is similar to setting JVM system property
+         * mail.mime.encodefilename.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: consumer
+         * 
+         * @param decodeFilename the value to set
+         * @return the dsl builder
+         */
+        default Pop3sComponentBuilder decodeFilename(boolean decodeFilename) {
+            doSetProperty("decodeFilename", decodeFilename);
+            return this;
+        }
+        /**
          * Deletes the messages after they have been processed. This is done by
          * setting the DELETED flag on the mail message. If false, the SEEN 
flag
          * is set instead. As of Camel 2.10 you can override this configuration
@@ -799,6 +816,7 @@ public interface Pop3sComponentBuilderFactory {
             case "bridgeErrorHandler": ((MailComponent) 
component).setBridgeErrorHandler((boolean) value); return true;
             case "closeFolder": getOrCreateConfiguration((MailComponent) 
component).setCloseFolder((boolean) value); return true;
             case "copyTo": getOrCreateConfiguration((MailComponent) 
component).setCopyTo((java.lang.String) value); return true;
+            case "decodeFilename": getOrCreateConfiguration((MailComponent) 
component).setDecodeFilename((boolean) value); return true;
             case "delete": getOrCreateConfiguration((MailComponent) 
component).setDelete((boolean) value); return true;
             case "disconnect": getOrCreateConfiguration((MailComponent) 
component).setDisconnect((boolean) value); return true;
             case "handleFailedMessage": 
getOrCreateConfiguration((MailComponent) 
component).setHandleFailedMessage((boolean) value); return true;
diff --git 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SmtpComponentBuilderFactory.java
 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SmtpComponentBuilderFactory.java
index c7a1f19..b9dc6aa 100644
--- 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SmtpComponentBuilderFactory.java
+++ 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SmtpComponentBuilderFactory.java
@@ -105,6 +105,23 @@ public interface SmtpComponentBuilderFactory {
             return this;
         }
         /**
+         * If set to true, the MimeUtility.decodeText method will be used to
+         * decode the filename. This is similar to setting JVM system property
+         * mail.mime.encodefilename.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: consumer
+         * 
+         * @param decodeFilename the value to set
+         * @return the dsl builder
+         */
+        default SmtpComponentBuilder decodeFilename(boolean decodeFilename) {
+            doSetProperty("decodeFilename", decodeFilename);
+            return this;
+        }
+        /**
          * Deletes the messages after they have been processed. This is done by
          * setting the DELETED flag on the mail message. If false, the SEEN 
flag
          * is set instead. As of Camel 2.10 you can override this configuration
@@ -796,6 +813,7 @@ public interface SmtpComponentBuilderFactory {
             case "bridgeErrorHandler": ((MailComponent) 
component).setBridgeErrorHandler((boolean) value); return true;
             case "closeFolder": getOrCreateConfiguration((MailComponent) 
component).setCloseFolder((boolean) value); return true;
             case "copyTo": getOrCreateConfiguration((MailComponent) 
component).setCopyTo((java.lang.String) value); return true;
+            case "decodeFilename": getOrCreateConfiguration((MailComponent) 
component).setDecodeFilename((boolean) value); return true;
             case "delete": getOrCreateConfiguration((MailComponent) 
component).setDelete((boolean) value); return true;
             case "disconnect": getOrCreateConfiguration((MailComponent) 
component).setDisconnect((boolean) value); return true;
             case "handleFailedMessage": 
getOrCreateConfiguration((MailComponent) 
component).setHandleFailedMessage((boolean) value); return true;
diff --git 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SmtpsComponentBuilderFactory.java
 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SmtpsComponentBuilderFactory.java
index 20530dc..4f012e8 100644
--- 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SmtpsComponentBuilderFactory.java
+++ 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SmtpsComponentBuilderFactory.java
@@ -105,6 +105,23 @@ public interface SmtpsComponentBuilderFactory {
             return this;
         }
         /**
+         * If set to true, the MimeUtility.decodeText method will be used to
+         * decode the filename. This is similar to setting JVM system property
+         * mail.mime.encodefilename.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: consumer
+         * 
+         * @param decodeFilename the value to set
+         * @return the dsl builder
+         */
+        default SmtpsComponentBuilder decodeFilename(boolean decodeFilename) {
+            doSetProperty("decodeFilename", decodeFilename);
+            return this;
+        }
+        /**
          * Deletes the messages after they have been processed. This is done by
          * setting the DELETED flag on the mail message. If false, the SEEN 
flag
          * is set instead. As of Camel 2.10 you can override this configuration
@@ -799,6 +816,7 @@ public interface SmtpsComponentBuilderFactory {
             case "bridgeErrorHandler": ((MailComponent) 
component).setBridgeErrorHandler((boolean) value); return true;
             case "closeFolder": getOrCreateConfiguration((MailComponent) 
component).setCloseFolder((boolean) value); return true;
             case "copyTo": getOrCreateConfiguration((MailComponent) 
component).setCopyTo((java.lang.String) value); return true;
+            case "decodeFilename": getOrCreateConfiguration((MailComponent) 
component).setDecodeFilename((boolean) value); return true;
             case "delete": getOrCreateConfiguration((MailComponent) 
component).setDelete((boolean) value); return true;
             case "disconnect": getOrCreateConfiguration((MailComponent) 
component).setDisconnect((boolean) value); return true;
             case "handleFailedMessage": 
getOrCreateConfiguration((MailComponent) 
component).setHandleFailedMessage((boolean) value); return true;
diff --git 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MailEndpointBuilderFactory.java
 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MailEndpointBuilderFactory.java
index c9cc74f..9b93b95 100644
--- 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MailEndpointBuilderFactory.java
+++ 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MailEndpointBuilderFactory.java
@@ -147,6 +147,42 @@ public interface MailEndpointBuilderFactory {
             return this;
         }
         /**
+         * If set to true, the MimeUtility.decodeText method will be used to
+         * decode the filename. This is similar to setting JVM system property
+         * mail.mime.encodefilename.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: consumer
+         * 
+         * @param decodeFilename the value to set
+         * @return the dsl builder
+         */
+        default MailEndpointConsumerBuilder decodeFilename(
+                boolean decodeFilename) {
+            doSetProperty("decodeFilename", decodeFilename);
+            return this;
+        }
+        /**
+         * If set to true, the MimeUtility.decodeText method will be used to
+         * decode the filename. This is similar to setting JVM system property
+         * mail.mime.encodefilename.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: consumer
+         * 
+         * @param decodeFilename the value to set
+         * @return the dsl builder
+         */
+        default MailEndpointConsumerBuilder decodeFilename(String 
decodeFilename) {
+            doSetProperty("decodeFilename", decodeFilename);
+            return this;
+        }
+        /**
          * Deletes the messages after they have been processed. This is done by
          * setting the DELETED flag on the mail message. If false, the SEEN 
flag
          * is set instead. As of Camel 2.10 you can override this configuration
diff --git a/docs/components/modules/ROOT/pages/mail-component.adoc 
b/docs/components/modules/ROOT/pages/mail-component.adoc
index 736bf53..612f107 100644
--- a/docs/components/modules/ROOT/pages/mail-component.adoc
+++ b/docs/components/modules/ROOT/pages/mail-component.adoc
@@ -100,7 +100,7 @@ You can append query options to the URI in the following 
format,
 
 
 // component options: START
-The Mail component supports 42 options, which are listed below.
+The Mail component supports 43 options, which are listed below.
 
 
 
@@ -110,6 +110,7 @@ The Mail component supports 42 options, which are listed 
below.
 | *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled by the routing Error Handler. By default the 
consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions, that will be logged at WARN or ERROR level and ignored. | false | 
boolean
 | *closeFolder* (consumer) | Whether the consumer should close the folder 
after polling. Setting this option to false and having disconnect=false as 
well, then the consumer keep the folder open between polls. | true | boolean
 | *copyTo* (consumer) | After processing a mail message, it can be copied to a 
mail folder with the given name. You can override this configuration value, 
with a header with the key copyTo, allowing you to copy messages to folder 
names configured at runtime. |  | String
+| *decodeFilename* (consumer) | If set to true, the MimeUtility.decodeText 
method will be used to decode the filename. This is similar to setting JVM 
system property mail.mime.encodefilename. | false | boolean
 | *delete* (consumer) | Deletes the messages after they have been processed. 
This is done by setting the DELETED flag on the mail message. If false, the 
SEEN flag is set instead. As of Camel 2.10 you can override this configuration 
option by setting a header with the key delete to determine if the mail should 
be deleted or not. | false | boolean
 | *disconnect* (consumer) | Whether the consumer should disconnect after 
polling. If enabled this forces Camel to connect on each poll. | false | boolean
 | *handleFailedMessage* (consumer) | If the mail consumer cannot retrieve a 
given mail message, then this option allows to handle the caused exception by 
the consumer's error handler. By enable the bridge error handler on the 
consumer, then the Camel routing error handler can handle the exception 
instead. The default behavior would be the consumer throws an exception and no 
mails from the batch would be able to be routed by Camel. | false | boolean
@@ -177,7 +178,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (66 parameters):
+=== Query Parameters (67 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -186,6 +187,7 @@ with the following path and query parameters:
 | *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled by the routing Error Handler. By default the 
consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions, that will be logged at WARN or ERROR level and ignored. | false | 
boolean
 | *closeFolder* (consumer) | Whether the consumer should close the folder 
after polling. Setting this option to false and having disconnect=false as 
well, then the consumer keep the folder open between polls. | true | boolean
 | *copyTo* (consumer) | After processing a mail message, it can be copied to a 
mail folder with the given name. You can override this configuration value, 
with a header with the key copyTo, allowing you to copy messages to folder 
names configured at runtime. |  | String
+| *decodeFilename* (consumer) | If set to true, the MimeUtility.decodeText 
method will be used to decode the filename. This is similar to setting JVM 
system property mail.mime.encodefilename. | false | boolean
 | *delete* (consumer) | Deletes the messages after they have been processed. 
This is done by setting the DELETED flag on the mail message. If false, the 
SEEN flag is set instead. As of Camel 2.10 you can override this configuration 
option by setting a header with the key delete to determine if the mail should 
be deleted or not. | false | boolean
 | *disconnect* (consumer) | Whether the consumer should disconnect after 
polling. If enabled this forces Camel to connect on each poll. | false | boolean
 | *handleFailedMessage* (consumer) | If the mail consumer cannot retrieve a 
given mail message, then this option allows to handle the caused exception by 
the consumer's error handler. By enable the bridge error handler on the 
consumer, then the Camel routing error handler can handle the exception 
instead. The default behavior would be the consumer throws an exception and no 
mails from the batch would be able to be routed by Camel. | false | boolean

Reply via email to