31.3. 组件选项
邮件组件支持 43 选项,这些选项如下。
| Name | 描述 | 默认 | 类型 |
|---|---|---|---|
| bridgeErrorHandler (consumer) | 允许将消费者桥接到 Camel 路由 Error Handler,这意味着使用者试图获取传入消息或类似信息时出现任何异常,现在将作为一个消息进行处理,并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.Exception 处理程序处理异常,该处理程序将记录在 WARN 或 ERROR 级别,并忽略。 | false | 布尔值 |
| 关闭Folder (consumer) | 消费者是否应在轮询后关闭文件夹。将此选项设置为 false,也设置 disconnect=false,然后消费者在轮询之间保持打开的文件夹。 | true | 布尔值 |
| copyTo (consumer) | 处理邮件后,可以使用指定名称将其复制到邮件文件夹中。您可以使用键 copyTo 的标头覆盖这个配置值,允许您将消息复制到运行时配置的文件夹名称。 | 字符串 | |
| decodeFilename (consumer) | 如果设置为 true,则使用 MimeUtility.decodeText 方法对文件名进行解码。这类似于设置 JVM 系统属性 mail.mime.encodefilename。 | false | 布尔值 |
| 删除 (消费者) | 在处理消息后删除消息。这可以通过在邮件上设置 DELETED 标志来完成。如果为 false,则设置 SEEN 标志。从 Camel 2.10 开始,您可以通过使用密钥删除设置标头来覆盖该配置选项,以确定是否应删除邮件。 | false | 布尔值 |
| 断开连接 (消费者) | 轮询后使用者是否应断开连接。如果启用此项强制 Camel 在每次轮询上进行连接。 | false | 布尔值 |
| handleFailedMessage (consumer) | 如果邮件使用者无法检索给定的邮件,则此选项允许处理消费者的错误处理程序所造成的异常。通过在使用者上启用网桥错误处理程序,Camel 路由错误处理程序可以改为处理异常。默认行为是使用者会抛出异常,并且 Camel 无法路由批处理中的邮件。 | false | 布尔值 |
| mimeDecodeHeaders (consumer) | 此选项为邮件标头启用透明的 MIME 解码并取消折叠。 | false | 布尔值 |
| MoveTo (消费者) | 处理邮件后,可以使用指定名称将其移动到邮件文件夹中。您可以使用带有键 moveTo 的标头覆盖这个配置值,允许您将消息移到运行时配置的文件夹名称。 | 字符串 | |
| peek (consumer) | 在处理邮件邮件之前,请将 javax.mail.Message 标记为peeked。这只适用于 IMAPMessage 消息类型。通过使用 peek 邮件将不会在邮件服务器上标记为 SEEN,这允许我们在 Camel 中进行错误处理时回滚邮件。 | true | 布尔值 |
| skipFailedMessage (consumer) | 如果邮件使用者无法检索给定的邮件,则此选项将允许跳过该邮件并继续检索下一个邮件。默认行为是使用者会抛出异常,并且 Camel 无法路由批处理中的邮件。 | false | 布尔值 |
| unseen (消费者) | 是否仅通过未发送邮件进行限制. | true | 布尔值 |
| fetchSize (consumer (advanced)) | 设置轮询期间要消耗的最大消息数。如果邮箱文件夹包含大量邮件,则这可用于避免过载邮件服务器。默认值 -1 表示没有获取大小,并且所有信息都会被消耗。将值设为 0 是一个特殊情况,Camel 将不会消耗任何信息。 | -1 | int |
| folderName (使用者(高级) | 要轮询的文件夹。 | INBOX | 字符串 |
| mapMailMessage (consumer (advanced) | 指定 Camel 是否应将收到的邮件信息映射到 Camel body/headers/attachments。如果设置为 true,邮件正文将映射到 Camel IN 消息的正文,邮件标题将映射到 IN 标头,并将附件映射到 Camel IN 附加消息。如果此选项设置为 false,则 IN 消息包含一个原始 javax.mail.Message。您可以通过调用 exchange.getIn ().getBody (javax.mail.Message.class)来检索此原始消息。 | true | 布尔值 |
| BCC (生成器) | 设置 BCC 电子邮件地址。使用逗号分隔多个电子邮件地址。 | 字符串 | |
| cc (生成器) | 设置 CC 电子邮件地址。使用逗号分隔多个电子邮件地址。 | 字符串 | |
| 来自于 (生成的) | 电子邮件地址: | camel@localhost | 字符串 |
| lazyStartProducer (producer) | 制作者是否应启动 lazy (在第一条消息中)。通过开始 lazy,您可以使用此方法来允许 CamelContext 和路由在制作者无法启动时启动失败,并导致路由无法启动。通过将此启动推迟为 lazy,则启动失败可以通过 Camel 的路由错误处理程序在路由消息期间处理。请注意,当处理第一条消息时,创建和启动制作者可能需要花费一些时间,延长处理总处理时间。 | false | 布尔值 |
| replyTo (生成器) | Reply-To 收件人(响应邮件的接收器)。使用逗号分隔多个电子邮件地址。 | 字符串 | |
| 主题 (生产者) | 所发送消息的使用者。注意:在标头中设置主题优先于这个选项。 | 字符串 | |
| 至于 (生成的) | 设置 To 电子邮件地址。使用逗号分隔多个电子邮件地址。 | 字符串 | |
| javaMailSender (producer (advanced)) | 使用自定义 org.apache.camel.component.mail.JavaMailSender 来发送电子邮件。 | JavaMailSender | |
| additionalJavaMailProperties (高级) | 设置额外的 java 邮件属性,这将根据所有其他选项附加/覆盖设置的任何默认属性。如果您需要添加一些特殊选项,但想让其他选项保留原样,这将非常有用。 | Properties | |
| alternativeBodyHeader (advanced) | 指定包含替代电子邮件正文的 IN 消息标头的密钥。例如,如果您以 text/html 格式发送电子邮件,并希望为非HTML 电子邮件客户端提供替代邮件正文,请将此密钥作为标头设置替代邮件正文。 | CamelMailAlternativeBody | 字符串 |
| attachmentsContentTransferEncodingResolver (advanced) | 使用自定义 AttachmentsContentTransferEncodingResolver 来解决要用于附件的内容类型代码。 | AttachmentsContentTransferEncodingResolver | |
| 验证器 (高级) | 用于登录的验证器。如果设置,则忽略密码和用户名。可用于可过期的令牌,因此必须动态读取。 | MailAuthenticator | |
| autowiredEnabled (advanced) | 是否启用了 autowiring。这用于自动自动选项( 选项必须标记为自动线),方法是在 registry 中查找是否有匹配的类型实例,然后再在组件上配置。这可用于自动配置 JDBC 数据源、JMS 连接工厂、AWS 客户端等。 | true | 布尔值 |
| 配置 (高级) | 设置邮件配置。 | MailConfiguration | |
| connectionTimeout (advanced) | 连接超时(毫秒)。 | 30000 | int |
| contentType (高级) | 邮件邮件内容类型。将 text/html 用于 HTML 邮件。 | text/plain | 字符串 |
| contentTypeResolver (advanced) | 用于确定文件附加内容类型的解析器. | ContentTypeResolver | |
| debugMode (高级) | 在底层邮件框架中启用调试模式。默认情况下,SUN 邮件框架将调试消息记录到 system.out。 | false | 布尔值 |
| ignoreUnsupportedCharset (advanced) | 在发送邮件时,允许 Camel 忽略本地 JVM 中不受支持的 charset 的选项。如果 charset 不受支持,则 charset=XXX (其中 XXX 代表不受支持的 charset)已从 content-type 中删除,它会依赖于平台默认值。 | false | 布尔值 |
| ignoreUriScheme (advanced) | 在发送邮件时,允许 Camel 忽略本地 JVM 中不受支持的 charset 的选项。如果 charset 不受支持,则 charset=XXX (其中 XXX 代表不受支持的 charset)已从 content-type 中删除,它会依赖于平台默认值。 | false | 布尔值 |
| javaMailProperties (高级) | 设置 java 邮件选项。将清除任何默认属性,并且仅使用为此方法提供的属性。 | Properties | |
| 会话 (高级) | 指定 camel 应在所有邮件交互中使用的邮件会话。在一些其他资源(如 JavaEE 容器)创建和管理邮件会话时,很有用。使用自定义邮件会话时,将使用邮件会话中的主机名和端口(如果在会话中进行了配置)。 | 会话 | |
| useInlineAttachments (advanced) | 是否使用内嵌或附加功能。 | false | 布尔值 |
| headerFilterStrategy (filter) | 使用自定义 org.apache.camel.spi.HeaderFilterStrategy 过滤来自 Camel 消息的标头。 | HeaderFilterStrategy | |
| 密码 (安全) | 登录的密码。另请参阅 setAuthenticator (MailAuthenticator)。 | 字符串 | |
| sslContextParameters (安全) | 使用 SSLContextParameters 配置安全性。 | SSLContextParameters | |
| useGlobalSslContextParameters (security) | 启用使用全局 SSL 上下文参数。 | false | 布尔值 |
| 用户名 (安全性) | 登录的用户名。另请参阅 setAuthenticator (MailAuthenticator)。 | 字符串 |