kbsms.htmの使い方

by Hippo2000(1999/9/18)

Microsoft社のIEはXML/XSLの環境を備えています。

まずは第1段ということで、これを機能をアドレス帳とし使い、BASP21を利用したメール送信プログラムを作ってみました。BASP21の機能のほんのさわりしか利用していませんが...。
当然、Win95/98、NTでIE5.0からしか利用できません。

なお内容等が間違っていたら修正します。ご連絡ください。
また簡単にメールの受信やアドレス帳の編集も追加できると思います。(私もボチボチとやるつもりですが)
よいものが出来たら、教えてください。他にもアイデア募集中です。<(__)>


目次


kbsms.htmについて

kbsms.htmはIE5のXML/XSL機能をアドレス帳として利用し、BASP21を使ってメールを送信するという簡単なメール送信プログラムです。
ここからダウンロードできます。

稼働環境

Windows環境下で稼動します。(Win95,98で確認済み)
あらかじめBASP21をインストールをインストールしておく必要があります。BASP21については、こちらをご覧下さい。

Baba Centerfolds: http://www.hi-ho.ne.jp/babaq/

またIEが「オフライン作業」では送信することはできません。「オフライン作業」のチェックをはずしてください。

使い方

まずあらかじめkbsmcnf.xmlを編集しておいてください。詳細は次節で説明します。

  1. IE5からkbsms.htmを開きます。
    (ファイルの内容を一度確認されることをお勧めします)
  2. 宛先をリストボックスから選択します。
    「Grp:」が付いている項目の場合はその配下のすべてのアドレスにメールを送信します。
    アドレス情報」もご覧下さい。
  3. 件名、本文を入力します。
  4. 添付ファイルを指定します。追加は「参照」ボタンを押して指定します。(直接指定してもよいですが)
    「削除」ボタンをクリックすると、添付ファイル・リストボックスから選択されているファイルが削除されます。
  5. 「送信」ボタンをクリックするとメールが送信されます。
    このとき「このページのソフトウェア(ActiveXコントロールの...」というメッセージが表示されます。
    これは内部でBASP21を利用しているためです。「Yes」が選択されないとメールは送信されません。
    正常に終了すると「送信できました」。それ以外の場合にはエラーメッセージが表示されます。

kbsmcnf.xml

kbsmcnf.xmlはkbsms.htmでのサーバ及び送信元の情報とアドレス情報を格納しています。

全体は<KBSM>という要素になり、<設定>と<アドレス>という2つの子供要素を持っています。
サンプル(sample/kbsmcnf.xml)を例に、内容について説明します。

<?xml version="1.0" encoding="Shift_JIS"?>
<KBSM>
<設定>
        <送信>
                <サーバ>smtp.hogety.ne.jp</サーバ>
                <送信元>"KBSMS"&lt;GCD00051@hogety.ne.jp&gt;</送信元>
        </送信>
</設定>
<アドレス>
<グループ><表示名>技術1部</表示名>
                <個人><表示名>部長</表示名><メール>bucho@hogehoge.co.jp</メール></個人>
                <グループ><表示名>1課</表示名>
                        <個人><表示名>川合</表示名><メール>kawai@hogehoge.co.jp</メール></個人>
                        <個人><表示名>部下</表示名><メール>buka@hogehoge.co.jp</メール></個人>
                </グループ>
</グループ>
<個人><表示名>川合孝典</表示名><メール>GCD00051@hogety.ne.jp</メール></個人>
</アドレス>
</KBSM>

設定情報

設定情報の抜粋

<設定>
        <送信>
                <サーバ>smtp.hogety.ne.jp</サーバ>
                <送信元>"KBSMS"&lt;GCD00051@hogety.ne.jp&gt;</送信元>
        </送信>
</設定>

設定情報(KBSM/設定)は<送信>という子供要素を持ち、<送信>は<サーバ>と<送信元>という要素で構成されます。

サーバはメール送信に使用するSMTPサーバ、送信元には送信者である自分のメールアドレスを設定します。

ここではSMTPサーバは「smtp.hogety.ne.jp」、送信元は「"KBSMS"<GCD00051@hogety.ne.jp>」としています。
通常のXMLですので、「<」、「>」はそれぞれ、「&lt;」、「&gt;」にしないとエラーになります。


アドレス情報

設定情報の抜粋

<アドレス>
<グループ><表示名>技術1部</表示名>
                <個人><表示名>部長</表示名><メール>bucho@hogehoge.co.jp</メール></個人>
                <グループ><表示名>1課</表示名>
                        <個人><表示名>川合</表示名><メール>kawai@hogehoge.co.jp</メール></個人>
                        <個人><表示名>部下</表示名><メール>buka@hogehoge.co.jp</メール></個人>
                </グループ>
</グループ>
<個人><表示名>川合孝典</表示名><メール>GCD00051@hogety.ne.jp</メール></個人>
</アドレス>

アドレス情報(KBSM/アドレス)は<グループ>と<個人>いう子供要素を持ち、<グループ>は<表示名>という子供要素を持ち、さらに<グループ>、<個人>という子供要素を持つことが出来ます。<個人>は<表示名>と<メール>という子供要素を持ちます。<表示名>はそれぞれの要素の名前を示し、リストボックスの表示などで利用されます。<メール>はメールの送信先アドレスを示します。

kbsms.htmでは宛先リストボックスで選択された要素が<個人>であれば、その個人にメールを送信します。<グループ>であれば、その子供要素に含まれている全ての<個人>にメールを送信します。

例えば、「事業部長」を選択すれば宛先(To:)を「"事業部長"<jb@hogehoge.co.jp>」で送信します。
「Grp:1課」が選択されれば宛先(To:)は「"川合"<kawai@hogehoge.co.jp> (タブ) "部下"<buka@hogehoge.co.jp>」で、
「Grp:技術1部」が選択されれば宛先(To:)は「"部長"<bucho@hogehoge.co.jp> (タブ) "川合"<kawai@hogehoge.co.jp> (タブ) "部下"<buka@hogehoge.co.jp>」で送信します。


参考資料

Microsoft社のサイト:
あいにくと英語ですが、リファレンスなので見ておかないと...
XML DOM Reference http://msdn.microsoft.com/xml/reference/xmldom/start.asp
XSL Developer's Guide: http://msdn.microsoft.com/xml/xslguide/default.asp
XSL Reference : http://msdn.microsoft.com/xml/reference/xsl/start.asp
 
BASP21
Baba Centerfolds : http://www.hi-ho.ne.jp/babaq/

ホーム Perlの小技

ご意見、ご質問はこちらの掲示板で受け付けています。
またメールは河馬屋(Nifty)にお願いします。