【ソリューション事業部 井上】
久しぶりのブログ、久しぶりの技術ネタです。
興味のない方…多いかもしれません。
どうぞ遠慮なく、読み飛ばしてください。
さて、
社内では一部の業務でファイルメーカー(FMS11)を使用しているのですが、
受信したメールをファイルメーカーへ自動取込みしたいという要望がありました。
初めての試みで手さぐりでのスタートでしたが、なんとか運用開始まで至りましたので
今回はそのお話です。
検討内容は以下の2点、
(1)ファイルメーカーへのインポート方法
(2)popメール受信方法
まず、(1)ファイルメーカーへのインポート方法について。
ファイルメーカーへのインポート方法については、FX.phpを使用しました。
プラグインである「filemaker mailit」「mailMakerPop」
もしくは、FMSの「ODBC/JDBC」「FileMaker API for PHP」という選択もありますが、
とりあえずはシンプルに?スタンダードに?xmlでいきます。
1.ファイルメーカーサーバ側の設定
・WEB公開エンジン起動
2.ファイルメーカーファイルのアクセス権設定
・拡張アクセス権で「fmxml」へのアクセス設定を追加
3.phpでアクセスして登録実行
基本的にはこれだけでOKでした。
ファイルメーカーのファイルのアクセス権限やカラム名で間違いが無ければきっと動作するはず。
登録に失敗した場合でもエラーコードが返ってくるので、ソースを追っかければなんとかなります。
続いて、(2)popメール受信。
ファイルメーカーへの登録にはphpを使用したので、ここもできればphpを。
ライブラリ「QdmailReceiver」を使用します。
多少の不具合が確認されたので、受信テストを繰り返しソースの調整をしてとりあえず完成。
文字化け、機種依存、htmlメールの取得と…メール扱う人の苦労を垣間見ました。
結構大変ですね。。
さて、これで完成かと思いきや、メールには添付ファイルが付いてきます。
ファイルメーカーサーバとwebサーバ(php)は別サーバです。どうしたものか。。
ファイルメーカーからアクセスするには、ファイルサーバーへの保存の必要に迫られます。
せっかくなので、ここまできたらライブラリを活用しようと、Pear/FTPを選択。
こちらも残念ながら若干ソースを調整しましたが、なんとか無事動作しました。
これで一通りの流れは完成です。
あとは頑張ってファイルメーカー側の作り込みですね。
メール受信のトリガーはcronではなく、一旦ファイルメーカー側にボタンを配置する形をとりました。
一連の流れは、
1.ファイルメーカーのボタンを押す
↓
2.phpを実行して、メール受信実行
↓
3.ファイルメーカーへレコード追加
添付ファイル保存(完了)
こうやって振り返ってみるとシンプルなんですが、FX.phpはネット上の情報が少く、
メール受信はソースの解析に一苦労と、なかなか手間のかかる作業でした。
何はともあれライブラリの作者の方に感謝です。
最後まで読んで頂いて有難うございます。
では、このバトンを千葉へ!!