33.4. 端点选项


Mail 端点使用 URI 语法进行配置:

imap:host:port
Copy to Clipboard Toggle word wrap

使用以下路径和查询参数:

33.4.1. 路径参数(2 参数)

Expand
名称描述默认类型

主机 (通用)

需要 邮件服务器主机名。

 

字符串

端口 (common)

邮件服务器的端口号。

 

int

33.4.2. 查询参数(66 参数)

Expand
名称描述默认类型

bridgeErrorHandler (consumer)

允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生异常,现在将作为消息处理并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。

false

布尔值

关闭Folder (使用者)

消费者是否应该在轮询后关闭文件夹。将这个选项设置为 false 并在轮询之间保持 disconnect=false,然后消费者保持打开文件夹。

true

布尔值

copyTo (consumer)

处理邮件消息后,可以将其复制到具有给定名称的邮件文件夹。您可以用带有键 copyTo 的标头覆盖此配置值,允许您将消息复制到运行时配置的文件夹名称。

 

字符串

decodeFilename (consumer)

如果设置为 true,则 MimeUtility.decodeText 方法将用于解码文件名。这与设置 JVM 系统属性 mail.mime.encodefilename 类似。

false

布尔值

删除 (使用者)

在消息被处理后删除它们。这可以通过在邮件消息上设置 DELETED 标志来完成。如果为 false,则设置 SEEN 标志。从 Camel 2.10 开始,您可以通过使用密钥 delete 设置标头来确定是否应删除邮件,来覆盖此配置选项。

false

布尔值

断开连接 (消费者)

轮询后消费者是否应断开。如果启用此项,则强制 Camel 在每个轮询上连接。

false

布尔值

handleFailedMessage (consumer)

如果邮件使用者无法检索给定的邮件,则此选项允许处理使用者错误处理程序所导致的异常。通过在消费者上启用网桥错误处理程序,Camel 路由错误处理程序可以处理异常。默认行为是消费者抛出异常,并且来自批处理中的邮件都无法由 Camel 路由。

false

布尔值

maxMessagesPerPoll (使用者)

指定每个轮询收集的最大消息数。默认情况下,不会设置最大值。可用于设置 e.g. 1000 的限制,以避免在服务器启动时下载数千文件。将值设为 0 或负数以禁用这个选项。

 

int

mimeDecodeHeaders (consumer)

此选项为邮件标头启用透明 MIME 解码和取消折叠。

false

布尔值

MoveTo (消费者)

处理邮件后,可以将其移动到具有给定名称的邮件文件夹。您可以使用键 moveTo 的标头覆盖此配置值,允许您在运行时将消息移到文件夹名称。

 

字符串

Site (consumer)

将 javax.mail.Message 标记为 openmpied,然后再处理邮件邮件。这只适用于 IMAPMessage 消息类型。通过使用在邮件服务器上立即标记为 SEEN 的邮件,那么当 Camel 中出现错误处理时,我们就可以回滚邮件消息。

true

布尔值

sendEmptyMessageWhenIdle (consumer)

如果轮询使用者没有轮询任何文件,您可以启用此选项来发送空消息(无正文)。

false

布尔值

skipFailedMessage (consumer)

如果邮件使用者无法检索给定的邮件,则此选项将允许跳过邮件并移动以检索下一个邮件。默认行为是消费者抛出异常,并且来自批处理中的邮件都无法由 Camel 路由。

false

布尔值

不可预见 (消费者)

是否仅受不可预见的邮件的限制。

true

布尔值

exceptionHandler (消费者)

要让使用者使用自定义例外处理程序:请注意,如果启用了 bridgeErrorHandler 选项,则此选项不在使用。默认情况下,使用者将处理异常,其记录在 WARN 或 ERROR 级别中,并忽略。

 

ExceptionHandler

ExchangePattern (消费者)

在消费者创建交换时设置交换模式。

Enum 值:

  • 仅限
  • InOut
  • InOptionalOut
 

ExchangePattern

fetchSize (consumer (advanced))

设置轮询期间要消耗的消息的最大数量。如果邮箱文件夹包含大量消息,这可用于避免加载邮件服务器。默认值 -1 表示没有获取大小,所有消息都会被使用。将值设为 0 是一个特殊情况,Camel 根本不消耗任何消息。

-1

int

folderName (使用者(高级)

要轮询的文件夹。

INBOX

字符串

mailUidGenerator (使用者(高级)

可插拔 MailUidGenerator,允许使用自定义逻辑来生成邮件消息的 UUID。

 

MailUidGenerator

mapMailMessage (consumer (advanced))

指定 Camel 是否应该将收到的邮件映射到 Camel 正文/headers/attachments。如果设置为 true,邮件正文将映射到 Camel IN 消息的正文,邮件标题将映射到 IN 标头,并附加至 Camel IN attachment 消息。如果此选项设为 false,则 IN 消息将包含原始 javax.mail.Message。您可以通过调用 exchange.getIn ().getBody (javax.mail.Message.class)来检索此原始消息。

true

布尔值

pollStrategy (使用者(高级)

可插拔 org.apache.camel.PollingConsumerPollingStrategy 允许您提供自定义实施来控制在轮询操作期间通常会发生错误处理,然后再创建交换并在 Camel 中路由。

 

PollingConsumerPollStrategy

postProcessAction (使用者)

在正常处理结束后,指的是 mailBoxPostProcessAction,用于处理邮箱上的任务。

 

MailBoxPostProcessAction

bcc (producer)

设置 BCC 电子邮件地址。使用逗号分隔多个电子邮件地址。

 

字符串

CC (生成者)

设置 CC 电子邮件地址。使用逗号分隔多个电子邮件地址。

 

字符串

from (producer)

来自电子邮件地址。

camel@localhost

字符串

lazyStartProducer (producer)

制作者是否应启动 lazy (在第一个消息中)。通过启动 lazy,您可以使用此选项来允许 CamelContext 和路由在制作者启动期间启动,并导致路由启动失败。通过将这个启动延迟到延迟,那么可以通过 Camel 的路由错误处理程序路由消息期间,可以处理启动失败。请注意,在处理第一个消息时,创建并启动制作者可能需要稍等时间,并延长处理的总处理时间。

false

布尔值

replyTo (producer)

Reply-To 收件人(响应邮件的接收器)。使用逗号分隔多个电子邮件地址。

 

字符串

主题 (生成者)

要发送的消息的 Subject。注:在标头中设置主题优先于这个选项。

 

字符串

(生成者)

设置电子邮件地址。使用逗号分隔多个电子邮件地址。

 

字符串

javaMailSender (producer (advanced))

要使用自定义 org.apache.camel.component.mail.JavaMailSender 来发送电子邮件。

 

JavaMailSender

其他JavaMailProperties (高级)

设置其他 java 邮件属性,这将附加/覆盖根据所有其他选项设置的任何默认属性。如果您需要添加一些特殊选项,但希望保留其他选项,这将非常有用。

 

Properties

alternativeBodyHeader (advanced)

指定包含替代电子邮件正文的 IN 消息标头的密钥。例如,如果您以 text/html 格式发送电子邮件,并希望为非HTML 电子邮件客户端提供替代邮件正文,请将这个密钥的替代邮件正文设置为标头。

CamelMailAlternativeBody

字符串

attachmentsContentTransferEncodingResolver (advanced)

要使用自定义 AttachmentsContentTransferEncodingResolver 来解析用于附件的 content-type-encoding。

 

AttachmentsContentTransferEncodingResolver

验证器 (高级)

用于登录的验证器。如果设置,则忽略密码和用户名。可用于可以过期的令牌,因此必须动态读取。

 

MailAuthenticator

绑定 (高级)

设置用于从 Camel 消息转换为邮件消息的绑定。

 

MailBinding

connectionTimeout (高级)

连接超时(以毫秒为单位)。

30000

int

ContentType (advanced)

邮件内容类型。将 text/html 用于 HTML 邮件。

text/plain

字符串

contentTypeResolver (advanced)

解析器决定 Content-Type 用于文件附加。

 

ContentTypeResolver

debugMode (高级)

在底层邮件框架上启用调试模式。默认情况下,SUN 邮件框架会将调试消息记录到 System.out。

false

布尔值

headerFilterStrategy (高级)

要使用自定义 org.apache.camel.spi.HeaderFilterStrategy 过滤标头。

 

HeaderFilterStrategy

ignoreUnsupportedCharset (advanced)

选项可使 Camel 在发送邮件时忽略本地 JVM 中不支持的 charset。如果不支持 charset,则 charset=XXX (其中 XXX 代表不支持的字符集)已从 content-type 中删除,它依赖于平台默认值。

false

布尔值

ignoreUriScheme (advanced)

选项可使 Camel 在发送邮件时忽略本地 JVM 中不支持的 charset。如果不支持 charset,则 charset=XXX (其中 XXX 代表不支持的字符集)已从 content-type 中删除,它依赖于平台默认值。

false

布尔值

javaMailProperties (高级)

设置 java 邮件选项。将清除任何默认属性,并且仅使用为此方法提供的属性。

 

Properties

会话 (高级)

指定 camel 应该用于所有邮件交互的邮件会话。在由某些其他资源(如 JavaEE 容器)创建和管理邮件会话的情形中,可使用。使用自定义邮件会话时,将使用邮件会话的主机名和端口(如果在会话上配置)。

 

session

useInlineAttachments (高级)

是否使用 disposition inline 或 attachment。

false

布尔值

idempotentRepository (filter)

可插拔存储库 org.apache.camel.spi.IdempotentRepository,它允许从同一邮箱使用集群,并让存储库协调邮件是否有效供消费者处理。默认情况下,不使用存储库。

 

IdempotentRepository

idempotentRepositoryRemoveOnCommit (filter)

使用 idempotent 存储库时,当邮件被成功处理并被提交后,消息 ID 会从幂等存储库(默认)中删除,或保存在存储库中。默认情况下,它假定消息 id 是唯一的,并且没有值保留在存储库中,因为邮件将被标记为 seen/moved 或 deleted,以防止再次消耗它。因此,在 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)

第一次轮询开始前的毫秒。

1000

long

repeatCount (scheduler)

指定触发的最大数量。因此,如果您将其设置为 1,调度程序将只触发一次。如果您将其设置为 5,它将只触发五次。值为零或负数表示会永久触发。

0

long

runLoggingLevel (scheduler)

消费者在轮询时记录 start/complete log 行。这个选项允许您为其配置日志级别。

Enum 值:

  • TRACE
  • DEBUG
  • INFO
  • WARN
  • ERROR
  • OFF

TRACE

LoggingLevel

scheduledExecutorService (scheduler)

允许配置用于消费者的自定义/共享线程池。默认情况下,每个使用者都有自己的单线程线程池。

 

ScheduledExecutorService

调度程序 (调度程序)

要使用 camel-spring 或 camel-quartz 组件的 cron 调度程序。使用值 spring 或 quartz 用于内置在调度程序中。

none

对象

schedulerProperties (scheduler)

在使用自定义调度程序或任何基于 Spring 的调度程序时配置附加属性。

 

map

启动Scheduler (scheduler)

调度程序是否应自动启动。

true

布尔值

timeUnit (scheduler)

initialDelay 和 delay 选项的时间单位。

Enum 值:

  • NANOSECONDS
  • MICROSECONDS
  • MILLISECONDS
  • 分钟
  • HOURS
  • DAYS

MILLISECONDS

TimeUnit

使用FixedDelay (scheduler)

控制是否使用固定延迟或固定率。详情请参阅 JDK 中的 ScheduledExecutorService。

true

布尔值

密码 (安全)

登录的密码。另请参阅 setAuthenticator (MailAuthenticator)。

 

字符串

sslContextParameters (security)

使用 SSLContextParameters 配置安全性。

 

SSLContextParameters

用户名 (安全)

登录的用户名。另请参阅 setAuthenticator (MailAuthenticator)。

 

字符串

sortTerm (sort)

为消息排序顺序。仅原生支持 IMAP。使用 POP3 或 IMAP 服务器没有 SORT 能力时,将模拟为某种程度。

 

SortTerm[]

33.4.3. 端点示例

通常,您可以指定带有登录凭证的 URI (例如,使用 SMTP):

smtp://[username@]host[:port][?password=somepwd]
Copy to Clipboard Toggle word wrap

另外,也可以将用户名和密码指定为查询选项:

smtp://host[:port]?password=somepwd&username=someuser
Copy to Clipboard Toggle word wrap

例如:

smtp://mycompany.mailserver:30?password=tiger&username=scott
Copy to Clipboard Toggle word wrap

33.4.4. 组件别名名称

  • IMAP
  • IMAPs
  • POP3s
  • SMTP
  • SMTPs

33.4.5. 默认端口

支持默认端口号。如果省略了端口号,Camel 会根据协议决定要使用的端口号。

Expand
协议默认端口号

SMTP

25

SMTPS

465

POP3

110

POP3S

995

IMAP

143

IMAPS

993

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat