堂島特許事務所の日常(堂島亭日乗)

知的財産関係のニュースと、実務的心覚えとをつづる。実務的情報については、できるだけ元情報の所在を記載する。弁理士の仕事に関する話はあまり書けないことがわかったので、これからはただの日記にする。
メールを受信したら自動的にDBに登録
0
    事務所の包袋管理にmySQLを使っている。最近はクライアントから来るデータも外国代理人から来るデータも大体のデータは電子データになっているので、DBへの登録は昔のようにスキャナで読み込ませて、などというのと比較して随分と楽になった。包袋管理のプログラムもPHP+javascriptで自作したのだが、長年の改良で昔に比べると随分と操作も楽になった。

    一方、現在ではクライアントや外国代理人とのやりとりが電子的になった分、電子メールの数が随分と増えた。そのため、DBへの登録の操作が簡単になったことはともかく、数が増えたためにDBへの登録が負担になってきた。クライアントによっては、以前は電話で済ませたような簡単なこともいちいちメールで連絡してくるので、それらもDBに登録しようとするとなかなか大変である。

    そこで、電子メールを受信したら自動的にDBに登録することを考えた。

    最初は事務所内にメールサーバを立ち上げて、サーバがメールを受信したらそれをトリガーに処理することを考えたが、サーバにはなるべく手をつけない方が良いというのと、メールサーバを外部に接続することは避けたいということがあって断念した。となると、私がいつも使っているマックでメールを受信したら、サーバのDBに登録するシステムが必要になる。

    調べると、マックではJXAというのが最近は導入されていて、以前のAppleScriptに加えてJavaScriptでスクリプトが書けるという。メール受信のルールで、特定のアドレスからのメールを受信したらJavascriptを起動してやればできそうである。ということでちょっとスクリプトを組んでみた。

    メールには添付ファイルもあるので、添付ファイルもDBに登録する必要がある。実際には、サーバの特定フォルダ内に添付ファイルを格納し、DBにはそのファイルへのパスを登録するというシステムにしてあるのだが、これをクライアント上のJavaScriptから処理する必要がある。最初はJavaScriptで直接DBにアクセスしようとも思ったが、それはセキュリティ上でよろしくない、という人がいたので、断念。JavaScriptからサーバで動いているApache経由でPHPプログラムにデータを渡してやることを考えた。調べると、JavaScriptのXMLHttpRequestがこの機能にぴったりである。

    が、JXAでこれを実装しようとすると、XMLHttpRequestはundefinedとなって、さっぱり動かない。どうもSAFARI上では動くものの、JXAでは動かないようだ。これは誤算だった。しかしやりだしたものはなんとか完成させないといけない。そこでない知恵を振り絞って考えたのが、次のようなシステムである。

    JXAでメールのサブジェクトまたはコンテンツから正規表現で事務所の事件番号を探す。一致するものがあれば、メールの受信日時を名前にして添付ファイルをサーバの一定のフォルダに保存する。このパスと、事件番号、送信者の情報とをURLencodeし、サファリに、サーバでこの情報を処理するためのPHPプログラムのURL+これらエンコードしたデータとをつないだURLを渡し、サーバにアクセスさせる。

    サーバのapache経由で該当のPHPプログラムが動き、そのプログラム内でデータベースにメール本文と添付ファイルのレコードを挿入する。合わせて、添付ファイルとして特定フォルダに格納されていたファイルを、事件番号とクライアントによって決まるフォルダに移動し、DBの添付ファイルのレコードにそのパスを記録してやる。

    あとは、メールを受信したらマックの MailのルールでJXAのスクリプトを起動してやれば良い。

    これでなんとか動くようになった。が、なぜか「添付ファイルが存在しない」と怒れらることが頻繁にある。問題なく動くこともあるのに、ダメな場合はダメである。何が問題がわからなかったが、探し回って、一旦メールを受信フォルダから別のフォルダに動かしてからJXAのスクリプトを動かすことで、問題が生じる頻度はだいぶ減った(まだ時々ある)。

    とまあ、まだ万全ではないが、うまく動いている時には、DBに自動的に必要な情報が記録されるし、添付ファイルも保存されるしで、ちょっとした感動ものである。まあ、こうした関係について熟知している人ならもっと上手にできるだろうけれど、早朝30分プログラマとしては結構大したものだと思うのである。
    | 清水敏 | パソコンなど | 21:12 | comments(0) | trackbacks(0) |

    + 研修のお知らせ
    (大阪中心)知財イベントカレンダーをご覧下さい。(別ウィンドウが開きます。)
    + 補助金カレンダ(別ウィンドウが開きます)
    補助金を網羅しているわけではありません。この情報については随時更新していますが、既に募集が終わっている場合も考えられます。自治体では予算を使い切ったら終了、というところもあります。この情報によって何らかの損害が生じても弊所は責任を負いかねます。必ず各自で情報の確認をお願いします。 愛知県 大阪府 兵庫県 京都府 香川県 静岡県 和歌山県 奈良県
    + RECOMMEND
    + RECOMMEND
    + RECOMMEND
    + RECOMMEND
    + RECOMMEND
    + SELECTED ENTRIES
    + RECENT COMMENTS
    + RECENT TRACKBACK
    + CATEGORIES
    + ARCHIVES
    + 本の紹介
    + MOBILE
    qrcode
    + LINKS
    + PROFILE