CData Arc で電子メールの添付ファイルをBox に連携する

by 色川穂高 | 2022年08月22日

こんにちは。CData Software Japanの色川です。

こちらの調査 などによれば、仕事上のコミュニケーション手段は電子メールが圧倒的なようです。組織の内外を問わず、ツールやサービスの導入状況などを気にせずコミュニケーションしたいとき、電子メールはなくてはならないインフラですよね。

昨今の電子帳簿保存法改正 などもあり、電子メールを利用したデータ(ファイル)のやり取りや業務上処理などの機会はますます増えていきそうですね。

日頃から「電子メールの添付ファイルを自動連携したい」という相談はとても多く頂きます。この記事では、電子メールの添付ファイルを自動的に受信してBox に連携する方法をご紹介します。

Box

Boxは、世界中で数多く利用されているセキュアなコンテンツ管理とコラボレーションを行える、クラウド・コンテンツ・マネジメント・プラットフォームです。

CData Arc

CData Arc は、CData 製品の中で「自動化/Automate」を担うデータ連携ツールです。「B2B 連携をもっとシンプルに」をコンセプトに、ファイル連携 & DB 連携 & API 連携といったB2B 連携に必要なすべてをノーコード・ローコードでつなぐことができるプラットフォームです。

この記事のシナリオ

この記事では、電子メールの添付ファイルを自動的に受信してBox に連携する方法をご紹介します。
具体的には、指定したIMAP メールボックスに含まれる電子メールから添付ファイルを自動的に受信して、受信した添付ファイルをBox の指定したフォルダに送信元ごとに仕分けして連携する方法をご紹介します。

事前準備


この記事のシナリオでは、こちらの製品を利用します。30 日間のトライアルライセンスが提供されていますので、ぜひお手元で試してみてください。

製品のインストールとナレッジ


CData Arc のインストールはこちらを参考にしてください。

CData Arc を使い始めるときは、こちらも参考にしてください。

CData Arc に関するナレッジは、こちらにまとめています。あわせて参考にしてください。

IMAP メールボックス


CData Arc には、IMAP メールサーバーからメッセージを受信できるEmail Receive コネクタが備わっています。

この記事では、IMAP メールボックスとしてGmail を利用しました。自動処理したいInBox には、複数のアカウントから添付ファイル付きのメールが届いています。


Box フォルダ


この記事では、EmailAttachments というフォルダに、送信元メールアドレスごとに仕分けして(フォルダを分けて)、添付ファイルをアップロードします。


連携フローの作成


それでは実際に連携フローを作成していきます。

このシナリオで作成する連携フローは以下のような流れになっています。とてもシンプルですね。

    コネクタ    内容
1   Email Receive   メール(添付ファイル)の受信・IMAP ヘッダー(From)からメールアドレスを抽出してメッセージヘッダに設定
2   Box     Box へアップロード


Email Receive コネクタ


最初にフローの起点となるEmail Receive コネクタを配置して、メール(添付ファイル)受信の設定をします。コアカテゴリから「Email Receive」コネクタを選択して、フローキャンバスへ配置します。

次にメールサーバ接続の設定をします。この記事ではGmail を利用しますので、Gmail へIMAP での受信を設定します。

次にユーザアカウント認証の設定をします。この記事では、基本認証を利用していますが、もちろんOAuth 2.0 での認証にも対応しています。

次にダウンロードに関する設定をします。この記事では、対象メールの添付ファイルを取得したいので、ダウンロードの種類を「添付ファイル」に設定します。

この記事では、添付ファイル以外に送信元をしめすFrom の情報も後続のフローに連携したいので、IMAP ヘッダー: プロパティを利用します。このプロパティに指定されたIMAP メールメッセージのヘッダーは、ダウンロードされたフローメッセージ(この記事では添付ファイル)のメタデータとして後続のフローに連携されます。

ただ、メールヘッダーのFrom には表示名などが含まれているケースもありますので、受信後のイベントで、From の情報からメールアドレスを抽出して、FromAddress というメッセージヘッダとして設定する処理(スクリプト)を追加します。

<arc:set attr="tmp.addrpattern" value="\[\w\-._\]+@\[\w\-._\]+\.\[A-Za-z\]+" />
<arc:set attr="_message.header:FromAddress" value="[From | regexmatch([tmp.addrpattern])]" />
こちらで利用しているArcScript について詳しく知りたい方は、ぜひこちらも参考にしてください。

メッセージヘッダを含め、CData Arc のメッセージベースのアーキテクチャについて詳しく知りたい方は、ぜひこちらも参考にしてください。

なお、この記事では分かりやすさ優先でIMAP ヘッダーのFrom を送信元のメールアドレスとして利用しましたが、Return-Path 等のヘッダ情報も利用できますので、任意に設定できるFrom の情報ではなくそれらを利用頂いても良いと思います。

これでEmail Receive コネクタの設定は完了です。

アウトプットタブから「受信」を実行し、添付ファイルを受信できることを確認します。IMAP メッセージヘッダも、Arc のメッセージヘッダとして設定できているのが分かります。


コネクタ単位で動作確認をしやすいのはCData Arc の便利な特長の1つです。

Box コネクタ


次にフローの終点となるBox コネクタを配置して、アップロードの設定をします。MFT カテゴリから「Box」コネクタを選択して、フローキャンバスへ配置します。

Box へ接続します。埋め込みクレデンシャルを使用した認証なので、とても簡単ですね。
 
 

接続ができたら、アップロード先を指定する「送信 - リモートフォルダ」には、先ほど取得した送信元メールアドレスごとのフォルダに仕分けできるように、以下のように指定します。

これで、Box コネクタの設定は完了です。

Email Receive コネクタから、Box コネクタにフローをつなぎます。これで、受信した添付ファイルはフローで処理するメッセージとして次のコネクタに連携され、Box へアップロードされます。

連携フローの実行


作成したフローを実行して確認してみましょう。

起点となるEmail Receive コネクタからフローを実行してみます。アウトプットタブから「受信」を実行します。

フローの終点となるBox コネクタのインプットタブではBox へのアップロードが成功していることが確認できます。

Box に添付ファイルが期待した通りに連携できていることが確認できました。
 
 
 

連携フローの自動実行


CData Arc ではフローを定期実行するスケジューラ機能を持っています。今回のシナリオであれば、フローの起点となるEmail Receive コネクタの「オートメーション」タブで設定することができます。1時間に1度、毎時0分に定期実行する場合は、このように設定します。

この記事で紹介したフロー(テンプレート)


この記事で作成したフローについては、こちら からテンプレートとして使える arcflow がダウンロードできます。
ダウンロードしたarcflow は「ワークスペースをインポート」やフローデザイナーにドラッグ&ドロップで登録できます。こちらのテンプレートを利用する時は、各コネクタでの接続情報などを、お使いの環境に併せて編集してください。

おわりに


多様な業務のコミュニケーションインフラとして利用されている電子メールは便利ですが、授受したコンテンツの管理は、Box のような優れたコンテンツマネジメントプラットフォームに任せたいですよね。この記事の様な連携シナリオは活用頂けるケースも多いのではないでしょうか。

CData Arc にはZip やGzip、Tar など様々なアーカイブの自動圧縮および解凍ができるコネクタ も備わっていますので、圧縮された添付ファイルの中身を自動連携したい、というようなケースでも活用頂けます。
CData Arc はシンプルで拡張性の高いコアフレームワークに、豊富なMFT・EDI・エンタープライズコネクタを備えたパワフルな製品です。CData Drivers との組み合わせで250を超えるアプリケーションへの連携を実現できます。必要な連携を低価格からはじめられる事も大きな特長です。

皆さんのつなぎたいシナリオでぜひ CData Arc を試してみてください。

arc.cdata.com

お試しいただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。

www.cdata.com


この記事では CData Arc™ 2022 - 22.0.8252.0 を利用しています。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。