maildb E-mail自動ファイリングスクリプト


maildbスクリプトについて

このスクリプトは、受信したメールを *.txt ファイルとして自動保存するものです。 私のPageでも紹介している検索システム(namazu)と併用する事により、 簡単に全文検索できるDBを構築するもできます。(実際に利用しています。:-))
DBへの登録も簡単でE-mailを送信するだけでなので、DBシステムを起動しデータを書き込むというような作業は必要ありません。
例えば、グループ内でのメールのやり取りを一括保存したい場合や、 仕事ならば、例えばメールでの問い合わせに対するのサポート状況等を自動的にファイリングし、 ついでに全文システムで検索できることになります。 E-mailシステムがあればこの環境を簡単に構築する事ができます。

スクリプト自体は簡単な作りとしておりますの、必要なカスタマイズはご利用される方で御自由に行って下さい。
そのカスタマイズ内容をメールで連絡頂けるならば幸いです。

以下に、WebPageからの全文検索を行う事を前提とし、 /usr/home/maildb/public_html にインストールする例を紹介します。

ファイル構成

この他に、.forward ファイルを作成する必要があります。

インストール

  1. maildbを利用するユーザの作成

    ここでは maildb という名称でユーザを追加しました。(追加方法は割愛します。)
    環境内で重複する事が無ければOKです。

  2. maildb.shのインストール

    WebPageで全文検索を行う事を目的としている為、public_htmlディレクトリ内にインストールする事にします。
    maildb.shは /usr/home/maildb にあるものとして進めます。

    maildb ユーザにて実行
    
    % mkdir public_html
    % mv maildb.sh public_html
    % chmod +x public_html/maildb.sh
    
    環境に合わせてmaildb.sh内の下記部分を変更して下さい。
    #!/bin/sh    <-- shへのパス
    DBPATH="/usr/home/maildb/public_html"  <-- メールを文書として登録するパス
    EXPATH="/usr/home/maildb/public_html"  <-- maildb.*へのパス
    

  3. maildb.plのインストール

    maildb.pl(sh)は /usr/home/maildb にあるものとして進めます。 こちらも同じディレクトリにインストール

    % mv maildb.pl public_html
    % chmod +x public_html/maildb.pl
    
    環境に合わせてmaildb.pl内の下記部分を変更して下さい。
    #!/usr/local/bin/perl  <-- perlへのパス
    $dbpath = "/usr/home/maildb/public_html";  <-- 文書へのパス
    $filetype = ".txt";    <-- メールを文書として登録する際のサフィックス
    

  4. .forwardファイルの作成

    maildbスクリプトを起動できるよう .forward を作成します。

    % pwd
    /usr/home/maildb
    % vi .forward
    "|/usr/home/maildb/public_html/maildb.sh" と指定します。ZZで終了!
    
    % cat .forward
    "|/usr/home/maildb/public_html/maildb.sh"
    %
    
    

  5. カスタマイズのヒント!

    maildbスクリプトはデフォルトe-mailのmassege-idの@の左側のデータをもとに、 ファイル名を生成する用作成しています。 単一のメール環境での利用の場合には問題ありませんが、 複数(社内と他のプロバイダ)のメール環境からの登録を処理する場合には、 @右側部分もファイル名として利用する事により、 ファイル名が重なることなく自動的に安全なファイル名を生成できます。

何かの参考になれば幸いです。


リンクはご自由に!

スパムが多いので頭に"_"追加してます。
_sugasawa@ceres.dti.ne.jp
Copyright (C) SUGASAWA. All rights reserved.