38.19. Spring Boot Auto-Configuration
当在 Spring Boot 中使用 imap 时,请确保使用以下 Maven 依赖项来支持自动配置:
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-mail-starter</artifactId> </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 解决用于附件的 content-type-encoding。选项是一个 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 处理。默认情况下,使用者将使用 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 | 生成者是否应懒惰启动 (在第一个消息中)。通过懒惰启动,您可以使用此选项来允许 CamelContext 和路由在生成者启动期间启动,并导致路由启动失败。通过懒惰启动,启动失败可以在路由信息时通过 Camel 的路由错误处理程序进行处理。请注意,在处理第一个消息时,创建并启动生成者可能需要稍等时间,并延长处理的总处理时间。 | false | 布尔值 |
camel.component.mail.map-mail-message | 指定 Camel 是否应该将收到的邮件映射到 Camel body/headers/attachments。如果设置为 true,邮件邮件的正文将映射到 Camel IN 消息的正文,邮件标头将映射到 IN 标头,并附加至 Camel IN attachment 消息。如果此选项设为 false,则 IN 消息包含原始 javax.mail.Message。您可以通过调用 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 消息类型。通过使用将邮件标记为 SEEN 的邮件,这允许我们在 Camel 中存在错误处理,请回滚邮件。 | true | 布尔值 |
camel.component.mail.reply-to | Reply-To receivers (响应邮件的接收器)。使用逗号分隔多个电子邮件地址。 | 字符串 | |
camel.component.mail.session | 指定 camel 应用于所有邮件交互的邮件会话。在由某些其他资源(如 IaaS 容器)创建和管理邮件会话的情况下很有用。使用自定义邮件会话时,将使用邮件会话中的主机名和端口(如果在会话中配置)。选项是 javax.mail.Session 类型。 | 会话 | |
camel.component.mail.skip-failed-message | 如果邮件使用者无法检索给定的邮件邮件,此选项允许跳过邮件并继续检索下一个邮件。默认行为是消费者抛出异常,并且批处理中的邮件无法由 Camel 路由。 | false | 布尔值 |
camel.component.mail.ssl-context-parameters | 使用 SSLContext 参数配置安全性:选项是 org.apache.camel.support.jsse.SSLContextParameters 类型。 | SSLContextParameters | |
camel.component.mail.subject | 正在发送的消息的主题。注: 在标头中设置主题优先于这个选项。 | 字符串 | |
camel.component.mail.to | 设置 To email address。使用逗号分隔多个电子邮件地址。 | 字符串 | |
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) Default 为 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 标头包含在 MIME 多部分的 regex。这只有在 headersInline 设为 true 时才起作用。默认为不包含标头。 | 字符串 | |
camel.dataformat.mime-multipart.multipart-sub-type | 指定 MIME 多部分的子类型。默认为 hybrid。 | mixed | 字符串 |
camel.dataformat.mime-multipart.multipart-without-attachment | 定义没有附件的消息是否也被放入 MIME 多部分(只有一个正文部分)。默认值为 false。 | false | 布尔值 |