216.3.

Mail エンドポイントは、URI 構文を使用して設定されます。

imap:host:port

パスおよびクエリーパラメーターを使用します。

216.3.1. パスパラメーター (2 個のパラメーター):

名前説明デフォルトタイプ

host

必須 メールサーバーのホスト名

 

String

port

メールサーバーのポート番号

 

int

216.3.2. クエリーパラメーター(62 個のパラメーター):

名前説明デフォルトタイプ

bridgeErrorHandler (consumer)

コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

false

boolean

closeFolder (consumer)

ポーリング後にコンシューマーがフォルダーを閉じる必要があるかどうか。このオプションを false に設定し、disconnect=false も設定すると、コンシューマーはポーリング間でフォルダーを開いたままにします。

true

boolean

copyTo (consumer)

メールメッセージを処理した後、指定された名前のメールフォルダーにコピーできます。キー copyTo を含むヘッダーを使用して、この設定値をオーバーライドできます。これにより、実行時に設定されたフォルダー名にメッセージをコピーできます。

 

String

delete (consumer)

処理後にメッセージを削除します。これは、メールメッセージに DELETED フラグを設定することによって行われます。false の場合、代わりに SEEN フラグが設定されます。Camel 2.10 では、メールを削除するかどうかを決定するキー delete でヘッダーを設定することにより、この設定オプションをオーバーライドできます。

false

boolean

disconnect (consumer)

ポーリング後にコンシューマーを切断するかどうか。有効にすると、各ポーリングで Camel が強制的に接続されます。

false

boolean

handleFailedMessage (consumer)

メールコンシューマーが特定のメールメッセージを取得できない場合、このオプションを使用すると、コンシューマーのエラーハンドラーによって発生した例外を処理できます。コンシューマーでブリッジエラーハンドラーを有効にすると、代わりに Camel ルーティングエラーハンドラーが例外を処理できます。デフォルトの動作では、コンシューマーが例外を出力し、バッチからのメールは Camel によってルーティングできません。

false

boolean

maxMessagesPerPoll (consumer)

ポーリングごとに収集するメッセージの最大数を指定します。デフォルトでは最大値は設定されていません。サーバーの起動時に数千のファイルをダウンロードしないように、たとえば 1000 の制限を設定するために使用できます。このオプションを無効にするには、0 または負の値を設定します。

 

int

mimeDecodeHeaders (consumer)

このオプションは、メールヘッダーの透過的な MIME デコードとデプロイメントを有効にします。

false

boolean

peek (consumer)

メールメッセージを処理する前に、javax.mail.Message をピークとしてマークします。これは、IMAPMessage メッセージタイプにのみ適用されます。peek を使用すると、メールはメールサーバー上で SEEN としてマークされません。これにより、Camel でエラー処理が発生した場合にメールメッセージをロールバックできます。

true

boolean

sendEmptyMessageWhenIdle (consumer)

ポーリングコンシューマーがファイルをポーリングしなかった場合、このオプションを有効にして、代わりに空のメッセージ (ボディーなし) を送信できます。

false

boolean

skipFailedMessage (consumer)

メールコンシューマーが特定のメールメッセージを取得できない場合、このオプションを使用すると、メッセージをスキップして次のメールメッセージの取得に進むことができます。デフォルトの動作では、コンシューマーが例外を出力し、バッチからのメールは Camel によってルーティングできません。

false

boolean

unseen (consumer)

未読メールのみで制限するかどうか。

true

boolean

exceptionHandler (consumer)

コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

 

ExceptionHandler

exchangePattern (consumer)

コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。

 

ExchangePattern

fetchSize (consumer)

ポーリング中に消費するメッセージの最大数を設定します。これは、メールボックスフォルダーに大量のメッセージが含まれている場合に、メールサーバーの過負荷を回避するために使用できます。デフォルト値の -1 は、フェッチサイズがなく、すべてのメッセージが消費されることを意味します。値を 0 に設定するのは、Camel がメッセージをまったく消費しない特殊なケースです。

-1

int

folderName (consumer)

ポーリングするフォルダー。

INBOX

String

mailUidGenerator (consumer)

カスタムロジックを使用してメールメッセージの UUID を生成できるプラグ可能な MailUidGenerator。

 

MailUidGenerator

mapMailMessage (consumer)

Camel が受信したメールメッセージを Camel の本文/ヘッダーにマップするかどうかを指定します。true に設定すると、メールメッセージのボディーは Camel IN メッセージのボディーにマップされ、メールヘッダーは IN ヘッダーにマップされます。このオプションが false に設定されている場合、IN メッセージには生の javax.mail.Message が含まれます。exchange.getIn ().getBody (javax.mail.Message.class) を呼び出して、この生のメッセージを取得できます。

true

boolean

pollStrategy (consumer)

プラグ可能な org.apache.camel.PollingConsumerPollingStrategy を使用すると、エクスチェンジが作成され、Camel でルーティングされる前に、通常はポーリング操作中に発生するエラー処理を制御するカスタム実装が提供できます。

 

PollingConsumerPoll Strategy

postProcessAction (consumer)

通常の処理が終了したら、メールボックスで後処理タスクを実行するための MailBoxPostProcessAction を参照します。

 

MailBoxPostProcess アクション

bcc (producer)

BCC メールアドレスを設定します。複数の電子メールアドレスはコンマで区切ります。

 

String

cc (producer)

CC メールアドレスを設定します。複数の電子メールアドレスはコンマで区切ります。

 

String

from (producer)

差出人の電子メールアドレス

camel@localhost

String

replyTo (producer)

Reply-To 受信者 (応答メールの受信者)。複数のメールアドレスはコンマで区切ります。

 

String

subject (producer)

送信されるメッセージの件名。注: ヘッダーに件名を設定すると、このオプションよりも優先されます。

 

String

to (producer)

宛先メールアドレスを設定します。複数の電子メールアドレスはコンマで区切ります。

 

String

javaMailSender (producer)

メールの送信にカスタム org.apache.camel.component.mail.JavaMailSender を使用するには。

 

JavaMailSender

additionalJavaMail Properties (advanced)

他のすべてのオプションに基づいて設定されたデフォルトプロパティーを追加/オーバーライドする追加の Java メールプロパティーを設定します。これは、いくつかの特別なオプションを追加する必要があるが、他のオプションはそのままにしておきたい場合に便利です。

 

プロパティー

alternativeBodyHeader (advanced)

代替電子メール本文を含む IN メッセージヘッダーのキーを指定します。たとえば、メールを text/html 形式で送信し、HTML 以外のメールクライアントに代替メール本文を提供する場合は、このキーをヘッダーとして使用して代替メール本文を設定します。

CamelMailAlternativeBody

String

attachmentsContentTransfer EncodingResolver (advanced)

カスタムの AttachmentsContentTransferEncodingResolver を使用して、添付に使用する content-type-encoding を解決するには。

 

AttachmentsContent TransferEncoding Resolver

binding (advanced)

Camel メッセージと Mail メッセージの間の変換に使用されるバインディングを設定します

 

MailBinding

connectionTimeout (advanced)

ミリ秒単位の接続タイムアウト。

30000

int

contentType (advanced)

メールメッセージのコンテンツタイプ。HTML メールには text/html を使用します。

text/plain

String

contentTypeResolver (advanced)

添付の Content-Type を決定するリゾルバー。

 

ContentTypeResolver

debugMode (advanced)

基礎となるメールフレームワークでデバッグモードを有効にします。SUN メールフレームワークは、デフォルトでデバッグメッセージを System.out に記録します。

false

boolean

headerFilterStrategy (advanced)

カスタム org.apache.camel.spi.HeaderFilterStrategy を使用してヘッダーをフィルタリングするには。

 

HeaderFilterStrategy

ignoreUnsupportedCharset (advanced)

メール送信時にローカル JVM でサポートされていない文字セットを Camel が無視できるようにするオプション。文字セットがサポートされていない場合は、charset=XXX (XXX はサポートされていない文字セットを表す) が content-type から削除され、代わりにプラットフォームのデフォルトに依存します。

false

boolean

ignoreUriScheme (advanced)

メール送信時にローカル JVM でサポートされていない文字セットを Camel が無視できるようにするオプション。文字セットがサポートされていない場合は、charset=XXX (XXX はサポートされていない文字セットを表す) が content-type から削除され、代わりにプラットフォームのデフォルトに依存します。

false

boolean

session (advanced)

camel がすべてのメールインタラクションに使用するメールセッションを指定します。メールセッションが JavaEE コンテナーなどの他のリソースによって作成および管理されるシナリオで役立ちます。これが指定されていない場合、Camel は自動的にメールセッションを作成します。

 

Session

synchronous (advanced)

同期処理を厳密に使用するか、Camel が非同期処理を使用できるかどうかを設定します (サポートされている場合)。

false

boolean

useInlineAttachments (advanced)

ディスポジションインラインまたは添付を使用するかどうか。

false

boolean

idempotentRepository (filter)

プラグイン可能なリポジトリー org.apache.camel.spi.IdempotentRepository により、同じメールボックスからのクラスター消費が可能になり、コンシューマーが処理するメールメッセージが有効かどうかをリポジトリーで調整できます。デフォルトでは、リポジトリーは使用されていません。

 

String>

idempotentRepositoryRemove OnCommit (filter)

べき等リポジトリーを使用している場合、メールメッセージが正常に処理されてコミットされると、メッセージ ID がべき等リポジトリーから削除されるか (デフォルト)、リポジトリーに保持されます。デフォルトでは、メッセージ ID は一意であり、リポジトリーに保持する値がないと想定されます。これは、メールメッセージが閲覧済み、移動済み、または削除済みとしてマークされ、再度消費されるのを防ぐためです。したがって、メッセージ ID を冪等リポジトリーに格納してもほとんど価値がありません。ただし、このオプションを使用すると、何らかの理由でメッセージ ID を保存できます。

true

boolean

searchTerm (filter)

件名、本文、送信元、特定の日付以降に送信されたものなどの検索条件に基づいてメールをフィルタリングできる javax.mail.search.SearchTerm を参照します。

 

SearchTerm

backoffErrorThreshold (scheduler)

backoffMultipler が開始する前に発生する必要がある後続のエラーポーリング (エラーによって失敗した) の数。

 

int

backoffIdleThreshold (scheduler)

backoffMultipler が開始する前に発生する必要がある後続のアイドルポーリングの数。

 

int

backoffMultiplier (scheduler)

後続のアイドル状態/エラーが連続して発生した場合に、スケジュールされたポーリングコンシューマーのバックオフを許可します。乗数は、実際に次の試行が行われる前にスキップされるポーリングの数です。このオプションが使用されている場合は、backoffIdleThreshold や backoffErrorThreshold も設定する必要があります。

 

int

delay (scheduler)

次のポーリングまでの時間 (ミリ秒単位)。

60000

long

greedy (scheduler)

greedy が有効で、以前の実行が 1 つ以上のメッセージをポーリングした場合、ScheduledPollConsumer は即座に再度実行されます。

false

boolean

initialDelay (scheduler)

最初のポーリングが開始されるまでの時間 (ミリ秒単位)。60s (60 秒)、5m30s (5 分 30 秒)、1h (1 時間) などの単位を使用して時間値を指定することもできます。

1000

long

runLoggingLevel (scheduler)

コンシューマーはポーリング時に開始/完了のログ行を記録します。このオプションを使用すると、ログレベルを設定できます。

TRACE

LoggingLevel

scheduledExecutorService (scheduler)

コンシューマーに使用するカスタム/共有スレッドプールを設定できます。デフォルトでは、各コンシューマーに独自の単一スレッドのスレッドプールがあります。

 

ScheduledExecutor Service

scheduler (scheduler)

camel-spring または camel-quartz2 コンポーネントから cron スケジューラーを使用します。

none

ScheduledPollConsumer Scheduler

schedulerProperties (scheduler)

カスタムスケジューラーまたは Quartz2 や Spring ベースのスケジューラーを使用する場合に、追加のプロパティーを設定します。

 

Map

startScheduler (scheduler)

スケジューラーを自動起動するかどうか。

true

boolean

timeUnit (scheduler)

initialDelay および delay オプションの時間単位。

MILLISECONDS

TimeUnit

useFixedDelay (scheduler)

固定遅延または固定レートを使用するかどうかを制御します。詳細は、JDK の ScheduledExecutorService を参照してください。

true

boolean

sortTerm (並べ替え)

メッセージのソート順。IMAP でのみネイティブにサポートされています。POP3 を使用する場合、または IMAP サーバーに SORT 機能がない場合に、ある程度エミュレートされます。

 

String

dummyTrustManager (security)

すべての証明書を信頼するためのダミーのセキュリティー設定を使用する場合。実稼働環境ではなく、開発モードでのみ使用してください。

false

boolean

password (security)

ログイン用のパスワード

 

String

sslContextParameters (security)

SSLContextParameters を使用してセキュリティーを設定する場合。

 

SSLContextParameters

username (security)

ログイン用のユーザー名

 

文字列

216.3.3. サンプルエンドポイント

通常、次のようにログイン認証情報を含む URI を指定します (例として SMTP を取り上げます)。

smtp://[username@]host[:port][?password=somepwd]

または、ユーザー名とパスワードの両方をクエリーオプションとして指定することもできます。

smtp://host[:port]?password=somepwd&username=someuser

以下に例を示します。

smtp://mycompany.mailserver:30?password=tiger&username=scott