メール用 Anypoint Connector (Email Connector) のトラブルシューティングを行うには、アプリケーションログ、JavaMail のデバッグ、添付ファイルへのアクセスのトラブルシューティング、プロトコルの問題のトラブルシューティング、一般的なメッセージの解釈に関する情報を理解しておいてください。
アプリケーションログの表示
Mule Runtime Engine (Mule) アプリケーションの実行中に問題が発生した場合は、次のようにアプリケーションログを参照してください。
-
アプリケーションを Anypoint Platform から実行している場合、出力は Anypoint Studio のコンソールウィンドウに表示される。
-
コマンドラインから Mule を使用してアプリケーションを実行している場合、アプリケーションログは OS コンソールに表示される。
アプリケーションのログファイル log4j2.xml でログファイルパスがカスタマイズされていない場合、デフォルトの場所 MULE_HOME/logs/<app-name>.log でアプリケーションログを参照します。
JavaMail デバッグログを有効化する
JavaMail デバッグログは、基盤となるサードパーティクラスで使用されます。
JavaMail デバッグログを有効化する手順は、次のとおりです。
-
Anypoint Studio にアクセスし、[Package Explorer] ビューに移動します。
-
アプリケーションのプロジェクト名を開きます。
-
src/main/mule パスフォルダーを開きます。 -
フォルダー内の Mule アプリケーション XML ファイルを開きます。
-
<property key="mail.debug" value="true"/> を IMAP または SMTP 接続要素に追加します。<email:imaps-connection host="..." user="..." password="..." > <email:properties > <email:property key="mail.debug" value="true" /> </email:properties> </email:imaps-connection> -
変更を保存します。
-
Package Explorer でプロジェクト名をクリックし、[Run (実行)] > [Run As (別のユーザーとして実行)] > [Mule Application (Mule アプリケーション)] をクリックします。
-
[Console (コンソール)] ビューに移動してロガー内のメールメッセージを読みます。
DEBUG: JavaMail version 1.6.3 DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map DEBUG: getProvider() returning javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle] DEBUG IMAP: mail.imap.fetchsize: 16384 DEBUG IMAP: mail.imap.ignorebodystructuresize: false DEBUG IMAP: trying to connect to host "******", port 993, isSSL true * OK The Microsoft Exchange IMAP4 service is ready. [******] A0 CAPABILITY * CAPABILITY IMAP4 IMAP4rev1 AUTH=PLAIN AUTH=XOAUTH2 SASL-IR UIDPLUS MOVE ID UNSELECT CHILDREN IDLE NAMESPACE LITERAL+ A0 OK CAPABILITY completed. ...
アプリケーションを Anypoint Platform で実行している場合、ログではコンソールビューにデバッグ行が出力されます。
スタンドアロン Mule でアプリケーションを実行している場合、ログではログファイルにデバッグ行が出力されます。
Email Connector デバッグログを有効化する
Email Connector のトラブルシューティングを開始するには、正確なエラーメッセージを確認するためにデバッグログを有効にします。
-
Anypoint Studio にアクセスし、[Package Explorer] ビューに移動します。
-
アプリケーションのプロジェクト名を開きます。
-
src/main/resources パスフォルダーを開きます。 -
フォルダー内の
log4j2.xml ファイルを開きます。 -
次の行がすでに
log4j2.xml ファイル内にある場合は、そのコメントを解除して有効にします。それ以外の場合、次の行を追加します。<AsyncLogger name="org.mule.extension.email" level="DEBUG" /> -
変更を保存します。
-
Package Explorer でプロジェクト名をクリックし、[Run (実行)] > [Run As (別のユーザーとして実行)] > [Mule Application (Mule アプリケーション)] をクリックします。
-
[Console (コンソール)] ビューに移動してロガー内の Email Connector のメッセージを読みます。
DEBUG 2021-04-26 18:51:08,536 [_pollingSource_imapattachmentFlow/executor.01] [processor: ; event: ] org.mule.extension.email.internal.mailbox.BaseMailboxPollingSource: Poll will be skipped, since last poll emails are still being processed INFO 2021-04-26 18:51:09,166 [[MuleRuntime].uber.04: [imapattachment].imapattachmentFlow.CPU_LITE @111719e0] [processor: imapattachmentFlow/processors/1/processors/2; event: 820f7fe0-a6d9-11eb-a84b-147dda4dba09] org.mule.runtime.core.internal.processor.LoggerMessageProcessor: "" as Binary {base: "64"} DEBUG 2021-04-26 18:51:15,360 [_pollingSource_imapattachmentFlow/executor.01] [processor: ; event: ] org.mule.extension.email.internal.mailbox.BaseMailboxPollingSource: Email [172] was not processed. ....
SMTPS と Gmail の接続の問題のトラブルシューティング
SMTPS 接続の問題のトラブルシューティングに使用する方法は、Gmail アカウントで 2 要素認証を使用しているかどうかによって異なります。
2 要素認証
アカウントで 2 要素認証値を使用している場合は、アプリケーション固有のパスワードを生成し、通常のパスワードの代わりにそのパスワードを使用します。 詳細は、 「アプリパスワードでログインする」を参照してください。Gmail アカウントで安全性の低いアプリを有効にする必要はありません。
パスワードベースの認証
Gmail アカウントで 2 要素認証を使用していない場合は、Gmail アカウントで安全性の低いアプリをセットアップして有効化します。パスワードが機能しない場合は、 「Google アカウントへのアクセスを許可」に移動して、次の手順を実行します。
-
ユーザー名とパスワードを入力します。
-
Captcha 画面の文字を入力します。
-
Mule アプリケーションに戻り、フローを再実行します。
さまざまなプロトコルの動作の理解
問題がプロトコルの動作である場合は、RFC のドキュメントを確認してください。Request for Comments (RFC) とは、Internet Society (ISOC) およびその関連団体 (特に有名なのはインターネットの主要な技術開発および基準設定団体である Internet Engineering Task Force (IETF)) による公開文書です。IETF ではインターネット基準として RFC としてパブリッシュされた提案のいくつかを採用しています。 確認できるドキュメントの一部を紹介します。
一般的なスローの理解
ここでは、一般的なスローメッセージとその解決方法を示します。
-
EMAIL:EMAIL_NOT_FOUND
The email identified by `emailId` cannot be found in a mailbox folder. (「emailId」で識別されるメールがメールボックスフォルダーに見つかりません。)
-
EMAIL:ACCESSING_FOLDER
There was a problem accessing an email folder or the folder does not exist. (メールフォルダーへのアクセスで問題が発生したか、フォルダーが存在しません。)
-
EMAIL:CONNECTIVITY
A connection could not be established. (接続を確立できませんでした。)
-
EMAIL:RETRY_EXHAUSTED
A problem occurred during message routing. (メッセージルーティング中に問題が発生しました。)
-
EMAIL:EMAIL_LIST
An error occurred during an attempt to list emails. (メールのリスト作成試行中にエラーが発生しました。)
-
EMAIL:SEND
An exception occurred during an attempt to send an email. (メールの送信試行中に例外が発生しました。)
-
EMAIL:FETCHING_ATTRIBUTES
An error occurred during email attribute parsing from an email. (メールからのメール属性の解析中にエラーが発生しました。)
-
EMAIL:MARK
An error occurred during email flag marking. (メールフラグのマーク中にエラーが発生しました。)
-
EMAIL:EXPUNGE_ERROR
A error occurred during an attempt to delete emails from a folder. (フォルダーからのメールの削除試行中にエラーが発生しました。)
-
EMAIL:ATTACHMENT
An error occurred during an attempt to send an attachment. (添付ファイルの送信試行中にエラーが発生しました。)
-
EMAIL:READ_EMAIL
An error occurred during an attempt to read the email content. (メールコンテンツの読み取り試行中にエラーが発生しました。)
-
EMAIL:AUTHENTICATION
Authentication failed. (認証に失敗しました。)
-
EMAIL:INVALID_CREDENTIALS
An error occurred during the username and password parameter consistency check. (ユーザー名とパスワードパラメーターの一貫性チェック中にエラーが発生しました。)
-
EMAIL:UNKNOWN_HOST
The IP address of a host cannot be determined or a port is out of range. (ホストの IP アドレスを判断できないか、ポートが範囲外です。)
-
EMAIL:CONNECTION_TIMEOUT
The server took too long to reply to a data request. (サーバーでデータ要求への返信に時間がかかりすぎました。)
-
EMAIL:DISCONNECTED
An error occurred during store connecting, or the connection was interrupted. (ストア接続中にエラーが発生したか、接続が中断されました。)
-
EMAIL:SSL_ERROR
An error occurred during SSL context creation, or the TLS context wasn't properly configured. (SSL コンテキスト作成中にエラーが発生したか、TLS コンテキストが適切に設定されませんでした。)