オンデマンドではないメール-to-ケース使った事ありますか?

はじめに

みなさん、こんにちわ

初めて記事を書くことになりました、折笠と申します。

皆さん、メール-to-ケースという機能はご存知かと思われますが、メール-to-ケースには2種類ある事をご存知でしょうか?
一般的によく使われていると思われるのはオンデマンドメール-to-ケースと呼ばれており、オンデマンドでない方はメール-to-ケースと呼ばれています。
オンデマンドメール-to-ケースの設定は検索すれば色んなサイトで説明がされていますが、メール-to-ケースの方は説明しているサイトも全然無く、私も設定に悩みました

オンデマンドではないメール-to-ケースを採用しようとし、設定方法が分からないという方の為に、メール-to-ケースの設定方法を説明しようかと思います
余程の事がない限りはオンデマンドメール-to-ケースを使用するかと思いますが、もしメール-to-ケースを使用する場合は参考にしてみてください

メール-to-ケースとオンデマンドメール-to-ケースの違い

まず、メール-to-ケースとオンデマンドメール-to-ケースとは何が違うのかを軽く説明したいと思います

1つ目の違いは、ファイアウォールの内側なのか外側なのか
2つ目の違いは、ヘッダー、メッセージ、および添付ファイルを含む、メールのサイズ制限が25MBを超えているかどうか
3目の違いは、1 日あたりのケースに変換されるメールの最大数
そして最大の違いは設定がSalesforce上で完結するのか、またはローカルで行う必要があるのかどうかです

オンデマンドでない方を選ぶ理由としては、大容量の添付ファイルがついているかどうか。また、ファイアウォールの内側にあるメールサーバーへのアクセスが可能かどうか等があるかと思います

メール-to-ケースの設定

まずは、Salesforce側の設定です。
[設定] | [カスタマイズ] | [ケース] | [メール-to-ケース]の順に操作します

「メール-to-ケースの有効化」にチェックを入れるところはオンデマンドメール-to-ケースと同じですが、「オンデマンドサービスの有効化」にはチェックを入れません


また、オンデマンドメール-to-ケースと同様に「メール-to-ケースのルーティング情報」を登録します

Salesforce側の設定は以上となります

次にローカル側の設定を行う上で、「メール-to-ケースエージェント」をダウンロードする必要があります

「メール-to-ケースの設定」のページに「Apex Developer Network から、メール-to-ケースエージェントをダウンロードします。」とリンクがありますが、こちらはリンク先がnot foundとなっており、現在このリンクからダウンロードする事はできません

こちらのページの「Click EmailAgent.zip to download」からダウンロードすることができます

Zipファイルを解凍すると下記の様な構成になっているかと思います


「email2case.txt」と「sfdcConfig.txt」の2つのファイルに編集を行います

「email2case.txt」はメールサーバーの設定となっております

「readme.txt」に英語の説明もありますが、簡単に各設定の説明をします

<url>    メールサーバのURL
<port>    メールサーバの接続するポート番号
<protocol>  基本的にはIMAPを指定する様です
<userName>  メールアカウントのネーム
<password>  メールアカウントのパスワード
<encryptedPassword> パスワードを暗号化している場合、暗号化された文字列を指定(※passwordとencryptedPasswordの両方を指定することは出来ません)
<ENCRYPTIONKEYFILE> パスワードを暗号化している場合、暗号化キーを記載したKEYファイルを指定します
<interval>  メールを確認する頻度(分間隔)。10と指定した場合は10分間隔でメールを確認しに行きます
<inbox>   受信フォルダの名称
<readbox>  処理実行後にメールを移動する先のフォルダ名称
<errorbox>  エラー発生時にメールを移動する先のフォルダ名称

「sfdcConfig.txt」はSalesforceと接続する為の情報を設定します

<sfdcLogin> Salesforceへのログイン情報です
<url> SalesforceのWebサービスエンドポイントのURLです
<userName> ケースを作成するユーザのユーザ名
<password> ケースを作成するユーザのパスワード
<encryptedPassword> パスワードを暗号化している場合、暗号化された文字列を指定します(:PASSWORDとEncryptedPasswordの両方を指定することはできません)
<ENCRYPTIONKEYFILE> パスワードを暗号化している場合、暗号化キーを記載したKEYファイルを指定します
<loginRefresh> セッションがリフレッシュされる時間のタイミング(分単位)です
<timeout> タイムアウトする時間を秒数で指定します。デフォルトは600です

<notify> 通知処理の情報です
<notifyEmail> 通知を行うメールアドレスを指定します。複数指定する場合は「,」区切りで指定します
<from> メールの送信者アドレスを指定します
<host> SMTPサーバーのアドレスを指定します
<port> SMTPサーバーのポート番号を指定します
<user> SMTPで認証を行うユーザのアカウント名を指定します
<password> 上記のアカウントのパスワードを指定します
<service> 通知を呼び出すために使用するクラス

<attachments> 添付ファイル処理の情報です
<largeAttachmentDirectory> 添付ファイルの保存先のフォルダを指定します
<largeAttachmentURLPrefix> Salesforceからファイルにリンクできる様にする為、ファイル名の前のpathを指定します
<largeAttachmentSize> これについては使用していない為、今一理解できておりません

<services>以下の<com.sforce.mail.EmailService>で、email2case.txtのpathを指定します

最後に「email2case.bat」を実行することで、メールの監視が開始されます

オンデマンドメール-to-ケースと違い、メール-to-ケースはこのエージェントファイルを常時実行しておく必要があります
個人のPCを常時起動しておくことは難しいと思いますので、サーバーで実行する事が現実的かと思われます

あまり使った事があるという方はいないと思いますので、是非お試しください