メールのヘッダーをデータベース出力する際に注意すべき点をまとめてみました。

メールのヘッダには多くの情報があり、当社がヘッダー情報取得用に提供しているHeaderAndBody.mdbで用意しているフィールドを例にすると下記のようなものがあります。

Return-Path / Received / X-Original-To / Delivered-To / Date / From / To / Cc / Subject / Message-ID / MIME-Version / Content-Type / Content-Transfer-Encoding / Content-Length / X-Mailer / X-UIDL / Status / X-Priority / X-MSMail-Priority / Importance / Reply-To / Errors-To

HeaderAndBody.mdbは、これらの項目をデータ化するためのAccessのサンプルデータベースなので、このファイルをご利用いただけばヘッダーをデータ化することはできますが、Access2010やOracle等では予約語などがあるためカラム(フィールド)名として設定できないものもあります。

BitplusPROの受信モードが「定義ファイルモード」であれば、ヘッダーの項目と同じカラム(フィールド)名にする必要はないのですが、定義ファイルの順番とヘッダーの順番が異なると取得できない項目が出てしまいます。
そのため、ヘッダーの項目をデータベースする場合、「区切り記号モード」や「本文取得モード」にする必要があるのですが、その場合原則としてメールの項目名とデータベースのカラム(フィールド)名を同じにしなくてはなりません。

Aceess2003までは、HeaderAndBody.mdbのように予約語であってもカラム(フィールド)名として利用できるのですが、Access2007や2010、SQL ServerやOracleなどでは、カラム(フィールド)名として利用できないものがあります。

そこで、そのような場合の設定方法についてご説明します。

まず、Date・From・To等などがデータベースの制限でカラム(フィールド)名として使えない場合は、カラム(フィールド)名にアンダーバーを付けることで取得できるようになります。
_Date・_From・_Toのように先頭にアンダーバーを付けたカラム(フィールド)名にすれば、BitplusPROが自動的にDate・From・Toと判断します。

また、Return-Path・Message-ID・Content-Type等のようにハイフンを含むカラム(フィールド)名が使用できない場合もあります。
その場合、Return_Path・Message_ID・Content_Typeのようにハイフンをアンダーバーに置き換えたカラム(フィールド)名を用意すれば良いのです。

お使いのデータベースやバージョンの違いによってカラム(フィールド)名の制限は異なりますが、ご紹介した2つの回避方法でご利用いただけると思います。

是非、お試しください。


■BitplusPRO
http://www.newsbit.co.jp/software/bpp/index.html

■HeaderAndBodyのダウンロード
http://www.newsbit.co.jp/service.html