清水敏の弁理士日記

知的財産関係のニュースと、実務的心覚えとをつづる。実務的情報については、できるだけ元情報の所在を記載する。
<< 第101回日本陸上競技選手権大会 6月23日のチケット(引換券)があります。 | main | 平成30年度弁理士の日記念事業『知財ふれあいフェスティバル』6/30開催 >>
メールを受信したら自動的に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) |









    http://sspo.jugem.jp/trackback/1441
      12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
    << January 2019 >>
    + 研修のお知らせ
    (大阪中心)知財イベントカレンダーをご覧下さい。(別ウィンドウが開きます。)
    + 補助金カレンダ(別ウィンドウが開きます)
    補助金を網羅しているわけではありません。この情報については随時更新していますが、既に募集が終わっている場合も考えられます。自治体では予算を使い切ったら終了、というところもあります。この情報によって何らかの損害が生じても弊所は責任を負いかねます。必ず各自で情報の確認をお願いします。 愛知県 大阪府 兵庫県 京都府 香川県 静岡県 和歌山県 奈良県
    + RECOMMEND
    + RECOMMEND
    + RECOMMEND
    サイコパス (文春新書)
    サイコパス (文春新書) (JUGEMレビュー »)
    中野 信子
    この本を読みながら、最近のニュースに出てきたあの人、この人を思い出した。ところで、サイコパスとは関係ないのだが、この本によれば日本は全世界の面積の0.25%しか占めていないのに、災害被害総額では15〜20%を占めているそうだ。最近の噴火、地震、豪雨の連続を見ていると納得してしまうが、一応この数字はどこかでチェックしておく必要がある。
    そこで調べて見た。一般財団法人国土技術研究センターによると、世界における日本の国土の占める割合は0.28%だそうだ。Wikipediaでは0.25%と記載されている。ここは国土技術研究センターを信用したい。一方、内閣府によると、日本の災害被害額が世界の災害被害額に占める割合は16%だそうだ。この数字はちょっと古いが、それでも大筋で15〜20%という値は正しそうだ。
    + RECOMMEND
    + RECOMMEND
    + RECOMMEND
    + RECOMMEND
    + RECOMMEND
    + RECOMMEND
    + SELECTED ENTRIES
    + RECENT COMMENTS
    + RECENT TRACKBACK
    + CATEGORIES
    + ARCHIVES
    + 本の紹介
    + MOBILE
    qrcode
    + LINKS
    + PROFILE