特集 ニュース コラム Plug-in・カスタム関数 関連製品・サービス 書籍
活用事例 コミュニティ・リンク 人材募集
 
フリーなツールを使ってメールをFMProに取り込んでみる[後編]

メール受信を自動化してみよう

はじめに

 さて後編です。前回でとりあえずシェルとファイルメーカーのスクリプトを使ってメールをデータベースに格納する事ができました。しかし早速お詫びなのですが、一部スクリプトに誤りがあったようなので、今回少し直しました。直したのはmailclient.plなのですが、申し訳ないのですがファイルの先頭に書いてある既知の問題点の改善までは至っていません。

今回の目標

 お詫びもしたことですし、今回の目標です。今回の目標は前編で作ったPerlスクリプトとFileMakerPro7のスクリプトを自動実行させる方法についてです。これができれば「問い合わせ用メールアドレスにきたメールを自動でDBに取り込む」といった事が実現できるようになります。ちょっといい感じですよね。  それでは実際の作り方、いってみましょう。今回やる事の大まかな流れは 1:FileMakerPro7のスクリプトを実行させるAppleScriptを書く 2:前回使用したシェル「GetMail.sh」からそのAppleScriptを実行するように設定する 3:CronniXというアプリケーションを使って定期的に実行するスケジュールを設定 という事になります。

FileMakerPro7のスクリプトを実行させるAppleScriptを書く

 まずはこれ。AppleScriptはMacOSに標準で付属するスクリプティング環境で、アプリケーションを起動したりアプリケーション間の橋渡しをさせたりする事ができる便利グッズです。そして当然ですがOS標準品なのでフリーです。  今回は「FileMakerPro 7で開いているメール受信.fp7のスクリプト『メール取り込み』を実行する」スクリプトを書きます。まずはスクリプトエディタを開きましょう。スクリプトエディタは「/Applications/AppleScript/Script Editor.app」です。これを起動すると下のような画面になります。

ScriptEditor
画面が2分割されていますが、スクリプトは上に書きます。書く内容は
tell application "FileMaker Pro"
        activate
        tell database "メール受信.fp7"
                do script FileMaker script "メール取り込み"
        end tell
end tell
です。解説等いらないくらい単純なスクリプトですが、やっている事はFIleMakerPro7を呼び出し、開いている(はず)のメール受信.fp7をアクティブにして、スクリプト「メール取り込み」を実行させているだけです。これが書けたらいったんウィンドウにある「実行」ボタンを押してちゃんと実行できる事を確認して保存します。保存する時フォーマットは「アプリケーション」を選択し「import.app」という名前で保存して下さい。保存先は今回はわかりやすいようにGetMail.shと同じディレクトリにしましょう。
 ここまでで上で書いた1〜3のうち1は無事終了です。次は2。まずは前回ダウンロードしたGetMail.shを開いて下さい。開いたらファイルの最後に1で作ったファイルを実行するように
./impoort.app
と書き加えます。これでmailclient.plを実行して結果のファイル文字コードを変換という作業の後にFileMakerPro7でメールファイルを取り込むという作業まで自動化できます。早速ターミナルを起動して
$./GetMail.sh
注:"$"マークはシェルプロンプトです
と打ってメールの受信から取り込みまでが自動化される事を確認して下さい。どうですか?うまくいったでしょうか。ここまでできれば後はこのGetMail.shというシェルスクリプト自体を定期的に実行してあげるだけです。

CronniXを使って定期的に実行するスケジュールを設定

 ある実行可能なファイルを定期的に実行するにはUNIXではcronというプログラムを使います。これを使えば「毎日10時」とか「毎時10分」とか「毎月15日の20時15分」といったスケジュールを設定してファイルやプログラムを実行させることができます。しかしこのcronは設定方法が独特でなれないと使い難いものです。そこで今回はcronの設定を楽にできるアプリCronniXを使ってスケジュールの設定を行いたいと思います。
 それではまずCronniXのインストールから。CronniXのインストールは簡単で、作者のページからCronniX_3.0b3.dmgをダウンロードし、ダブルクリックしたら中に入っているCronniXを任意の場所にコピーするだけ。インストールで特に問題になる点はないはずです。インストールができたら設定。まずはCronniXを起動して下さい。下記の画面が出ましたか?

CronnniX
 初回起動時にはまず「開く」ボタンを押してユーザ名を入力します。これはMacOSXのユーザ名です。とりあえず試すなら自分のユーザ名でいいので、入力後「開く」ボタンを押して下さい。次に「新規」ボタンを押して下記ウィンドウを表示してスケジュールを入力します。今回は「毎時30分になったらメールの受信を行う」事にしてみましょう。その場合は「時」「日」「月」の欄にあるチェックボックスにチェックを入れて、「日」のところに 30 と入力します。これで毎時30分に指定したファイルを事項できます。
 次に画面下の「ブラウズ」ボタンを押して実行するファイルを選びます。今回はGetMail.shですので、それを選びます。これで設定は終了です。「新規」ボタンを押すとCronniXのメインウィンドウに今設定したスケジュールが表示されるのを確認してCronniXを終了して下さい。
 これで後は時間が来るのを待つだけ。うまくいきましたか?CronniXについて問題が起きたらヘルプ(英語)を読むかGoogleで使い方を調べてみて下さい。ちなみに今回のCronniXの設定は下記のようになります。
Config

・・・・いかがでしたか?これでメールの受信作業を完全に自動化する事ができました。この仕組みをうまくつかえばみなさまの日々の業務を多少効率化できるのではないでしょうか。今回作ったPerlスクリプトはメール受信の点ではまだまだ不完全な部分がありますので、今後は私も業務で使いながら少しづつverupしていこうかと思っています。なお今回作ったAppleScriptとシェルスクリプトを含むサンプルファイルはこのページ右上のリンクからダウンロードできますのでご利用ください(ディスクイメージファイル形式)。それでは!

[2004/12/15]
[有限会社ジェネコム 給前悟郎]

◆関連リンク


FileMaker Pro7
CronniX
今回使用したファイル

FMPro.jpについて |  利用規約 |  ポリシー |  お問い合わせ