30.19. Spring Boot Auto-Configuration
在与 Spring Boot 一起使用时,请确保使用以下 Maven 依赖项支持自动配置:
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-mail-starter</artifactId> <version>{CamelSBProjectVersion}</version> <!-- Use your Camel Spring Boot version --> </dependency>
组件支持 50 个选项,如下所示。
Name | 描述 | 默认 | 类型 |
---|---|---|---|
camel.component.mail.additional-java-mail-properties | 设置其他 java 邮件属性,它将根据所有其他选项附加/覆盖任何默认设置。如果您需要添加一些特殊选项,但希望让其他内容保留原样,这很有用。选项是 java.util.Properties 类型。 | Properties | |
camel.component.mail.alternative-body-header | 指定包含替代电子邮件正文的 IN 消息标题的键。例如:如果您以文本/html 格式发送电子邮件,并且想要为非 HTML 电子邮件客户端提供替代邮件正文,请将此密钥的备选邮件正文设置为标题。 | CamelMailAlternativeBody | 字符串 |
camel.component.mail.attachments-content-transfer-encoding-resolver | 要使用自定义附件ContentTransferEncodingResolver 来解析要用于附件的内容类型代码。选项是 org.apache.camel.component.mail.AttachmentsContentTransferEncodingResolver 类型。 | AttachmentsContentTransferEncodingResolver | |
camel.component.mail.authenticator | 登录验证器。如果设置,则忽略密码和用户名。可以为令牌使用,这些令牌可到期,因此必须动态读取。选项是 org.apache.camel.component.mail.MailAuthenticator 类型。 | MailAuthenticator | |
camel.component.mail.autowired-enabled | 是否启用自动。这用于自动自动自动选项(选项必须标记为 autowired),方法是在 registry 中查找是否有匹配的类型实例,然后在组件上进行配置。这可用于自动配置 JDBC 数据源、JMS 连接工厂、AWS 客户端等。 | true | 布尔值 |
camel.component.mail.bcc | 设置 BCC 电子邮件地址。使用逗号分隔多个电子邮件地址。 | 字符串 | |
camel.component.mail.bridge-error-handler | 允许将消费者桥接到 Camel 路由 Error Handler,这意味着在消费者尝试获取传入的消息时发生任何异常,或像这样一样处理,消息现在将被作为消息进行处理,并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 处理异常,该处理程序将记录在 WARN 或 ERROR 级别并忽略。 | false | 布尔值 |
camel.component.mail.cc | 设置 CC 电子邮件地址。使用逗号分隔多个电子邮件地址。 | 字符串 | |
camel.component.mail.close-folder | 轮询后,消费者是否应该关闭文件夹。将此选项设置为 false,并且具有 disconnect=false,然后消费者保持在轮询之间保持文件夹打开。 | true | 布尔值 |
camel.component.mail.configuration | 设置邮件配置。选项是 org.apache.camel.component.mail.MailConfiguration 类型。 | MailConfiguration | |
camel.component.mail.connection-timeout | 连接超时(以毫秒为单位)。 | 30000 | 整数 |
camel.component.mail.content-type | 邮件消息内容类型。将 text/html 用于 HTML 邮件。 | text/plain | 字符串 |
camel.component.mail.content-type-resolver | 用于为文件附加确定 Content-Type 的解析器。选项是 org.apache.camel.component.mail.ContentTypeResolver 类型。 | ContentTypeResolver | |
camel.component.mail.copy-to | 处理邮件消息后,可以使用指定名称将其复制到邮件文件夹。您可以覆盖此配置值,使用带有键 copyTo 的标头,允许您将消息复制到运行时配置的文件夹名称。 | 字符串 | |
camel.component.mail.debug-mode | 在底层邮件框架上启用调试模式。默认情况下,SUN 邮件框架将调试消息记录到 system.out。 | false | 布尔值 |
camel.component.mail.decode-filename | 如果设置为 true,则使用 MimeUtility.decodeText 方法来解码文件名。这类似于设置 JVM 系统属性 mail.mime.encodefilename。 | false | 布尔值 |
camel.component.mail.delete | 在消息被处理后删除它们。这可以通过在邮件消息上设置 DELETED 标志来完成。如果为 false,则设置 SEEN 标志。自 Camel 2.10 起,您可以通过设置键 delete 的标头来决定是否应删除邮件是否应该删除。 | false | 布尔值 |
camel.component.mail.disconnect | 轮询后使用者是否应该断开连接。如果启用它,它会强制 Camel 在每次轮询时连接。 | false | 布尔值 |
camel.component.mail.enabled | 是否启用邮件组件的自动配置。默认启用。 | 布尔值 | |
camel.component.mail.fetch-size | 设置轮询过程中要消耗的最大消息数。如果邮箱文件夹包含大量邮件,这可用于避免过载邮件服务器。默认值 -1 表示没有获取大小,所有消息都将被消耗。将值设为 0 是一个特殊的基点,Camel 根本不消耗任何消息。 | -1 | 整数 |
camel.component.mail.folder-name | 要轮询的文件夹。 | INBOX | 字符串 |
camel.component.mail.from | 来自电子邮件地址。 | camel@localhost | 字符串 |
camel.component.mail.handle-failed-message | 如果邮件使用者无法检索给定邮件邮件,则此选项允许处理由消费者的错误处理程序导致异常。通过在消费者上启用网桥错误处理程序,Camel 路由错误处理程序可以改为处理异常。默认行为是消费者引发异常,来自批处理的任何邮件都无法通过 Camel 进行路由。 | false | 布尔值 |
camel.component.mail.header-filter-strategy | 使用自定义 org.apache.camel.spi.HeaderFilterStrategy 过滤到 Camel 消息的标头。选项是 org.apache.camel.spi.HeaderFilterStrategy 类型。 | HeaderFilterStrategy | |
camel.component.mail.ignore-unsupported-charset | 让 Camel 在发送邮件时忽略本地 JVM 中不支持的 charset 选项。如果不支持 charset,则 charset=XXX(其中 XXX 代表不受支持的 charset)已从 content-type 中删除,它依赖于平台默认值。 | false | 布尔值 |
camel.component.mail.ignore-uri-scheme | 让 Camel 在发送邮件时忽略本地 JVM 中不支持的 charset 选项。如果不支持 charset,则 charset=XXX(其中 XXX 代表不受支持的 charset)已从 content-type 中删除,它依赖于平台默认值。 | false | 布尔值 |
camel.component.mail.java-mail-properties | 设置 java 邮件选项。将清除任何默认属性,并且仅使用为此方法提供的属性。选项是 java.util.Properties 类型。 | Properties | |
camel.component.mail.java-mail-sender | 使用自定义 org.apache.camel.component.mail.JavaMailSender 来发送电子邮件。选项是 org.apache.camel.component.mail.JavaMailSender 类型。 | JavaMailSender | |
camel.component.mail.lazy-start-producer | 制作者是否应该启动 lazy(在第一个消息上)。通过启动 lazy,您可以使用它来允许 CamelContext 和路由在启动期间启动,否则在启动期间出现问题,并导致路由启动失败。通过将这个启动延迟到 lazy 后,可以在通过 Camel 的路由错误处理程序路由消息期间处理启动失败。注意在处理第一个消息时,创建并启动制作者可能花费较少的时间,从而延长处理的总处理时间。 | false | 布尔值 |
camel.component.mail.map-mail-message | 指定 Camel 是否应将收到的邮件消息映射到 Camel 正文/headers/attachments。如果设置为 true,邮件邮件正文将映射到 Camel IN 邮件的正文,邮件标题将映射到 IN 标头,附件则映射到 Camel IN attachment 消息。如果此选项设为 false,则 IN 消息包含 raw javax.mail.Message。You can retrieve this raw message by calling exchange.getIn().getBody(javax.mail.Message.class). | true | 布尔值 |
camel.component.mail.mime-decode-headers | 此选项为邮件标头启用透明 MIME 解码和取消折叠数据。 | false | 布尔值 |
camel.component.mail.move-to | 处理邮件消息后,可使用指定名称将其移动到邮件文件夹。您可以覆盖此配置值,使用键 moveTo 的标头,允许您将消息移到运行时配置的文件夹名称。 | 字符串 | |
camel.component.mail.password | 登录密码。另请参阅 setAuthenticator(MailAuthenticator)。 | 字符串 | |
camel.component.mail.peek | 将 javax.mail.Message 标记为 peeked,然后处理邮件。这只适用于 IMAPMessage 消息类型。如果使用 peek 邮件,邮件将不会在邮件服务器上标记为 SEEN,如果 Camel 中存在错误处理,则让我们可以回滚邮件消息。 | true | 布尔值 |
camel.component.mail.reply-to | Reply-To 接收者(响应邮件的接收器)。使用逗号分隔多个电子邮件地址。 | 字符串 | |
camel.component.mail.session | 指定 camel 应该用于所有邮件交互的邮件会话。在由某些其他资源创建和管理邮件会话时(如 JavaEE 容器)的情景中非常有用。使用自定义邮件会话时,将使用邮件会话中的主机名和端口(如果在会话上配置)。选项是 javax.mail.Session 类型。 | session | |
camel.component.mail.skip-failed-message | 如果邮件使用者无法检索给定邮件邮件,则此选项允许跳过消息并继续检索下一个邮件。默认行为是消费者引发异常,来自批处理的任何邮件都无法通过 Camel 进行路由。 | false | 布尔值 |
camel.component.mail.ssl-context-parameters | 使用 SSLContextParameters 配置安全性。选项是 org.apache.camel.support.jsse.SSLContextParameters 类型。 | SSLContextParameters | |
camel.component.mail.subject | 发送的消息的主题。注意:在标头中设置主题优先于这个选项。 | 字符串 | |
camel.component.mail.to | 设置 To 电子邮件地址。使用逗号分隔多个电子邮件地址。 | 字符串 | |
camel.component.mail.unseen | 是否只通过未识别邮件来限制。 | true | 布尔值 |
camel.component.mail.use-global-ssl-context-parameters | 启用使用全局 SSL 上下文参数。 | false | 布尔值 |
camel.component.mail.use-inline-attachments | 是否使用对内联还是附加。 | false | 布尔值 |
camel.component.mail.username | 登录的用户名。另请参阅 setAuthenticator(MailAuthenticator)。 | 字符串 | |
camel.dataformat.mime-multipart.binary-content | 定义 MIME 多部分二进制部分的内容是否为二进制(true)还是 Base-64 编码(false)默认是否为 false。 | false | 布尔值 |
camel.dataformat.mime-multipart.enabled | 是否启用 mime-multipart 数据格式的自动配置。默认启用。 | 布尔值 | |
camel.dataformat.mime-multipart.headers-inline | 定义 MIME-Multipart 标头是邮件正文的一部分(true)还是设置为 Camel 标头(false)。默认为 false。 | false | 布尔值 |
camel.dataformat.mime-multipart.include-headers | 定义哪些 Camel 标头也作为 MIME 多部件包含的正则表达式。只有将 headerInline 设置为 true 时才可以正常工作。默认为不包含任何标头。 | 字符串 | |
camel.dataformat.mime-multipart.multipart-sub-type | 指定 MIME 多部件的子类型。默认为混合使用。 | mixed | 字符串 |
camel.dataformat.mime-multipart.multipart-without-attachment | 定义没有附加的消息是否也被放入 MIME 多部件(仅含有一个正文部分)。默认为 false。 | false | 布尔值 |