218.3.
Mail 端点使用 URI 语法进行配置:
imap:host:port
imap:host:port
使用以下路径和查询参数:
218.3.1. 路径参数(2 参数): 复制链接链接已复制到粘贴板!
| Name | 描述 | 默认值 | 类型 |
|---|---|---|---|
| 主机 | 必需 邮件服务器主机名 | 字符串 | |
| port | 邮件服务器的端口号 | int |
218.3.2. 查询参数(62 参数): 复制链接链接已复制到粘贴板!
| Name | 描述 | 默认值 | 类型 |
|---|---|---|---|
| bridgeErrorHandler (consumer) | 允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生异常,现在将作为消息处理并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。 | false | 布尔值 |
| closeFolder (consumer) | 消费者是否应该在轮询后关闭文件夹。将此选项设置为 false 并且也具有 disconnect=false,然后消费者在轮询之间保持打开的文件夹。 | true | 布尔值 |
| copyTo (consumer) | 在处理邮件后,可以将其复制到具有指定名称的邮件文件夹中。您可以覆盖此配置值,使用键 copyTo 的标头,允许您将消息复制到运行时配置的文件夹名称。 | 字符串 | |
| delete (consumer) | 在消息被处理后删除它们。这可以通过在邮件消息中设置 DELETED 标志来完成。如果为 false,则改为设置 SEEN 标志。从 Camel 2.10 开始,您可以通过设置带有 delete 键的标头来覆盖这个配置选项,以确定是否应删除邮件。 | false | 布尔值 |
| disconnect (consumer) | 消费者是否应该在轮询后断开连接。如果启用此选项,则会强制 Camel 每次轮询上进行连接。 | false | 布尔值 |
| handleFailedMessage (consumer) | 如果邮件使用者无法检索给定邮件,则此选项允许处理消费者的错误处理程序导致的异常。通过在消费者上启用网桥错误处理程序,则 Camel 路由错误处理程序可以改为处理异常。默认行为是消费者抛出异常,来自批处理中的邮件将无法由 Camel 进行路由。 | false | 布尔值 |
| maxMessagesPerPoll (consumer) | 指定每个轮询要收集的最大消息数。默认情况下,不设置最大值。可用于设置限制,例如 1000,以避免在服务器启动时下载数千个文件。设置 0 或负值以禁用这个选项。 | int | |
| mimeDecodeHeaders (consumer) | 此选项为邮件标头启用透明 MIME 解码和折叠功能。 | false | 布尔值 |
| peek (consumer) | 将 javax.mail.Message 标记为处理邮件之前。这只适用于 IMAPMessage 消息类型。通过使用在邮件服务器上标记为 SEEN,邮件不会强制标记为 SEEN,如果 Camel 出现错误处理,则我们可以回滚邮件消息。 | true | 布尔值 |
| sendEmptyMessageWhenIdle (consumer) | 如果轮询使用者没有轮询任何文件,您可以启用此选项来发送空消息(无正文)。 | false | 布尔值 |
| skipFailedMessage (consumer) | 如果邮件使用者无法检索给定邮件,则此选项允许跳过邮件并继续检索下一个邮件。默认行为是消费者抛出异常,来自批处理中的邮件将无法由 Camel 进行路由。 | false | 布尔值 |
| unseen (consumer) | 是否只被不可编辑的邮件限制。 | true | 布尔值 |
| ExceptionHandler ( consumer) | 要让使用者使用自定义例外处理程序:请注意,如果启用了 bridgeErrorHandler 选项,则此选项不使用。默认情况下,消费者将处理异常,其记录在 WARN 或 ERROR 级别中,并忽略。 | ExceptionHandler | |
| exchangePattern (consumer) | 在消费者创建交换时设置交换模式。 | ExchangePattern | |
| fetchSize (consumer) | 设置轮询期间要消耗的消息的最大数量。如果邮箱文件夹包含大量邮件,则这可用于避免过载邮件服务器。默认值 -1 表示没有获取大小,将消耗所有信息。将值设为 0 是一个特殊情况,Camel 将根本不使用任何消息。 | -1 | int |
| folderName (consumer) | 要轮询的文件夹。 | INBOX | 字符串 |
| mailUidGenerator (consumer) | 可插拔 MailUidGenerator,允许使用自定义逻辑来生成邮件邮件的 UUID。 | MailUidGenerator | |
| mapMailMessage (consumer) | 指定 Camel 是否应该将接收的邮件映射到 Camel body/headers。如果设置为 true,邮件消息的正文将映射到 Camel IN 消息的正文,并且邮件标头映射到 IN 标头。如果此选项设为 false,则 IN 消息包含原始 javax.mail.Message。您可以通过调用 exchange.getIn ().getBody (javax.mail.Message.class)来检索这个原始消息。 | true | 布尔值 |
| pollStrategy (consumer) | 可插拔 org.apache.camel.PollingConsumerPollingStrategy 允许您提供自定义实施来控制在轮询操作期间通常会发生错误处理,然后再创建交换并在 Camel 中路由。 | PollingConsumerPoll Strategy | |
| postProcessAction (consumer) | 指的是 MailBoxPostProcessAction,用于在正常处理完后处理邮箱上的任务。 | MailBoxPostProcess Action | |
| bcc (producer) | 设置 BCC 电子邮件地址。使用逗号分隔多个电子邮件地址。 | 字符串 | |
| CC (producer) | 设置 CC 电子邮件地址。使用逗号分隔多个电子邮件地址。 | 字符串 | |
| from (producer) | 来自电子邮件地址 | camel@localhost | 字符串 |
| replyTo (producer) | Reply-To 收件人(响应邮件的接收器)。使用逗号分隔多个电子邮件地址。 | 字符串 | |
| subject (producer) | 正在发送的消息主题。注意:在标头中设置主题优先于这个选项。 | 字符串 | |
| to (producer) | 设置 To 电子邮件地址。使用逗号分隔多个电子邮件地址。 | 字符串 | |
| javaMailSender (producer) | 使用自定义 org.apache.camel.component.mail.JavaMailSender 来发送电子邮件。 | JavaMailSender | |
| additionalJavaMail Properties (advanced) | 设置其他 java 邮件属性,它将根据所有其他选项附加/覆盖任何默认属性。如果您需要添加一些特殊选项,但希望让其他选项保留原样,这将非常有用。 | Properties | |
| alternativeBodyHeader (advanced) | 指定包含替代电子邮件正文的 IN 消息标头的密钥。例如,如果您以文本/html 格式发送电子邮件,并希望为非HTML 电子邮件客户端提供替代邮件正文,请将替代邮件正文设置为标头。 | CamelMailAlternativeBody | 字符串 |
| attachmentsContentTransfer EncodingResolver (advanced) | 使用自定义 AttachmentsContentTransferEncodingResolver 来解决要用于附件的 content-type-encoding。 | AttachmentsContent TransferEncoding Resolver | |
| 绑定 (advanced) | 设置用于从 Camel 消息转换到邮件消息的绑定 | MailBinding | |
| connectionTimeout (advanced) | 连接超时(以毫秒为单位)。 | 30000 | int |
| contentType (advanced) | 邮件邮件内容类型。将 text/html 用于 HTML 邮件。 | text/plain | 字符串 |
| contentTypeResolver (advanced) | 解析器决定用于文件附加的 Content-Type。 | ContentTypeResolver | |
| debugMode (advanced) | 在底层邮件框架上启用调试模式。SUN Mail 框架默认将调试消息记录到 system.out。 | false | 布尔值 |
| headerFilterStrategy (advanced) | 使用自定义 org.apache.camel.spi.HeaderFilterStrategy 来过滤标头。 | HeaderFilterStrategy | |
| ignoreUnsupportedCharset (advanced) | 选项,让 Camel 在发送邮件时忽略本地 JVM 中不支持的 charset。如果不支持 charset=XXX (其中 XXX 代表不受支持的 charset),则从 content-type 中删除 charset,它依赖于平台默认值。 | false | 布尔值 |
| ignoreUriScheme (advanced) | 选项,让 Camel 在发送邮件时忽略本地 JVM 中不支持的 charset。如果不支持 charset=XXX (其中 XXX 代表不受支持的 charset),则从 content-type 中删除 charset,它依赖于平台默认值。 | false | 布尔值 |
| 会话 (高级) | 指定 camel 应该用于所有邮件交互的邮件会话。在由某些其他资源(如 modular 容器)创建和管理邮件会话时很有用。如果没有指定,Camel 会自动为您创建邮件会话。 | 会话 | |
| 同步 (高级) | 设置是否应严格使用同步处理,还是允许 Camel 使用异步处理(如果支持)。 | false | 布尔值 |
| useInlineAttachments (advanced) | 是否使用 disposition inline 或 attachment。 | false | 布尔值 |
| idempotentRepository (filter) | 一个可插拔式存储库 org.apache.camel.spi.IdempotentRepository,它允许从同一邮箱使用集群,并让存储库协调邮件是否对消费者有效。默认情况下,没有使用软件仓库。 | IdempotentRepository | |
| idempotentRepositoryRemove OnCommit (filter) | 使用幂等存储库时,当邮件被成功处理并提交时,该消息 ID 会从幂等存储库(默认)中删除,或者保存在存储库中。默认情况下,其假定消息 id 是唯一的,且没有在存储库中保留值,因为邮件消息将被标记为 seen/moved 或 delete,以防止它被再次使用。因此,在 idempotent 存储库中存储了消息 id 有较少的值。但是,此选项允许存储消息 id,适用于您可能具有的任何原因。 | true | 布尔值 |
| searchTerm (filter) | 指的是 javax.mail.search.SearchTerm,它允许根据特定日期等搜索条件(如主题、正文等)过滤邮件。 | SearchTerm | |
| backoffErrorThreshold (scheduler) | 在 backoffMultipler 应该 kick-in 之前发生的后续错误轮询(因为某些错误)的数量。 | int | |
| backoffIdleThreshold (scheduler) | 在 backoffMultipler 应该 kick-in 之前应该发生的后续空闲轮询数量。 | int | |
| backoffMultiplier (scheduler) | 如果一行中有很多后续空闲/errors,则让调度的轮询消费者避退。然后,倍数是在下一次实际尝试再次发生前跳过的轮询数量。当使用这个选项时,还必须配置 backoffIdleThreshold 和/或 backoffErrorThreshold。 | int | |
| delay (scheduler) | 下一次轮询前的时间(毫秒)。 | 60000 | long |
| greedy (scheduler) | 如果启用了 greedy,如果上一个运行轮询 1 或更多消息,则 ScheduledPollConsumer 将立即运行。 | false | 布尔值 |
| initialDelay (scheduler) | 第一次轮询开始前的毫秒。您还可以使用单位来指定时间值,如 60s (60 秒)、5m30s (5 分钟和 30 秒),以及 1h (1 小时)。 | 1000 | long |
| runLoggingLevel (scheduler) | 消费者在轮询时记录 start/complete log 行。这个选项允许您为其配置日志级别。 | TRACE | LoggingLevel |
| scheduledExecutorService (scheduler) | 允许配置用于消费者的自定义/共享线程池。默认情况下,每个使用者都有自己的单线程线程池。 | ScheduledExecutor Service | |
| scheduler (scheduler) | 使用 camel-spring 或 camel-quartz2 组件的 cron 调度程序 | none | ScheduledPollConsumer Scheduler |
| schedulerProperties (scheduler) | 在使用自定义调度程序或任何基于 Spring 的调度程序时配置附加属性。 | Map | |
| startScheduler (scheduler) | 调度程序是否应自动启动。 | true | 布尔值 |
| timeUnit (scheduler) | initialDelay 和 delay 选项的时间单位。 | MILLISECONDS | TimeUnit |
| useFixedDelay (scheduler) | 控制是否使用固定延迟或固定率。详情请参阅 JDK 中的 ScheduledExecutorService。 | true | 布尔值 |
| sortTerm (sort) | 排序消息的顺序.仅对 IMAP 进行原生支持。使用 POP3 或 IMAP 服务器没有 SORT 功能时,模拟某些程度。 | 字符串 | |
| dummyTrustManager (security) | 使用 dummy 安全设置来信任所有证书。应该只用于开发模式,而不应用于生产环境。 | false | 布尔值 |
| 密码 (security) | 登录的密码 | 字符串 | |
| sslContextParameters (security) | 使用 SSLContextParameters 配置安全性。 | SSLContextParameters | |
| 用户名 (security) | 登录的用户名 | 字符串 |