ComBlatJ

DOCUMENT


 

ComBlatJ

はじめに

ComBlatJ は、株式会社ピーデー・川俣 晶 さまのソフトウェアです。

Windows 系の Web サーバである IIS などから簡単に利用することが出来ますので、メールフォームなどを手軽に作成することが出来ます。

 

使い方

レジストリへ登録する

ComBlatJ は COM コンポーネントですので、使用するにあたってまず、レジストリへ登録する必要があります。登録には regsvr32 というコマンドを使用します。

たとえば C\COM\ フォルダへ ComBlatJ の本体 comblat.dll をおいた場合は、コマンドラインから次のようにしてそれを登録します。

 

regsvr32 C:\COM\comblat.dll

これで、Windows に ComBlatJ が登録されます。この作業は、ComBlatJ を導入したときの1回だけ行えば大丈夫です。

また、もし ComBlatJ の登録をやめたい場合は -u オプションを付けて次のようにします。

 

regsvr32 -u C:\COM\comblat.dll

 

インスタンスを作成する

登録した ComBlatJ を使用する時には、次のようにしてインスタンスを作成します。ここでは IIS の ASP で、VBScript を使った場合で紹介しています。

 

Set mail = Server.CreateObject("Blat.Send.1")

これで、変数 mail に ComBlatJ のインスタンスが作成されます。

 

使い方の例

たとえば、次のような場合を想定します。

宛先 xxx@dummy.ez-net.jp
差出人 yyy@dummy.ez-net.jp
件名 "件名"
本文 "メール本文です。"
送信用 SMTP サーバ smtp.dummy.ez-net.jp

 

この場合、IIS の ASP では次のような感じのスクリプトになります。

<%

Set mail = Server.CreateObject("Blat.Send.1")

 

mail.To = "xxx@dummy.ez-net.jp"

mail.From = "yyy@dummy.ez-net.jp"

mail.Impersonate = "yyy@dummy.ez-net.jp"

 

mail.Server = "smtp.dummy.ez-net.jp"

 

mail.Subject = "件名"

mail.Body = "メール本文です。"

 

mail.Send

 

Set mail = Nothing

%>

この例ではエラーチェックをしていませんけど、このままだと例えばメールサーバが停止していたりしてメールが送れなかったりしても気づくすべがないので気をつけましょう。

Send メソッドにてメールの配信を行った後には、IsError プロパティを参照して、送信時にエラーがなかったかを調べるのをおすすめします。

 

また、本文中で使用する改行は一般に CRLF です。

本文の中に改行コードを含めたい場合には vbCrLf を使って、CRLF による改行を使うように気をつけましょう。CRLF にしないと、場合によっては ComBlatJ の送信は成功しても、その先の SMTP サーバが送信できないという場合もありますので。

 

簡易リファレンス

主要プロパティ

名前 内容
To String 宛先を指定します。カンマ ( , ) で区切ることによって複数のメールアドレスを指定できます。To または Cc または Bcc プロパティのどれかに宛先を設定する必要があります。
Cc String カーボンコピー(複写) の宛先を指定します。カンマ ( , ) で区切ることによって複数のメールアドレスを指定できます。To または Cc または Bcc プロパティのどれかに宛先を設定する必要があります。
Bcc String カーボンコピー(複写) の宛先を指定します。Cc との違いは、To や Cc のアドレスは送信先でも確認することが出来ますが、Bcc のアドレスは送信先では見ることが出来ません。カンマ ( , ) で区切ることによって複数のメールアドレスを指定できます。To または Cc または Bcc プロパティのどれかに宛先を設定する必要があります。
Subject String メールの件名を指定します。
From String メール送信者のメールアドレスを指定します。
Server String ComBlatJ がメールを送信する際に使用する SMTP サーバを指定します。
Impersonate String 通常は From プロパティと同一の値を指定します。ここに From プロパティとは異なるアドレスを設定すると、メールヘッダに Sender: ヘッダと Reply-To: ヘッダが追加され、そこにここで指定したメールアドレスが反映されます。
Body String メールの本文を指定します。改行コードを含める場合は vbCrLf を使用して CRLF による改行を使用するようにしましょう。メッセージの本文は ISO-2022-JP (JIS) コードで送られます。

 

その他のプロパティ

名前 内容
IsError Boolean エラーが発生したときに True となります。True となった場合は次のアクションで正常だったとしても、依然 True のままなので、次のアクションを起こす前に False を代入するのをおすすめします。
ErrorMessage String エラーメッセージを取得、または初期化するためのプロパティです。エラーが発生するたびに、このプロパティにエラーメッセージが追加されていきます。消去したい場合には、この ErrorMessage プロパティに対して空文字を代入すればいいそうです。
FileName String メッセージ本文に使用する文章を、指定したファイルから取り出します。これを使用した場合、Body プロパティに設定されているメール本文は無視されて、指定されたファイルの内容のみが有効になります。
base64 Boolean メール本文のエンコード方法を base64 にしたいときに、このプロパティに True を代入します。uuencode プロパティが True であるときには base64 プロパティを True にしてはいけません。このプロパティは、添付ファイルつきのメールを送信する場合には必須です。
uuencode Boolean メール本文のエンコード方法を uuencode にしたいときに、このプロパティに True を代入します。base64 プロパティが True であるときには uuencode プロパティを True にしてはいけません。このプロパティは、添付ファイルつきのメールを送信する場合には必須です。
HostNameWanted String SMTP サーバへ伝える身元情報を変更します。ここで設定された値は HELO コマンドの引数として使用されます。
Log String ComBlat が出力する送信ログです。ログメッセージはここへ順次追加されていきます。
ExtraHeader String ComBlat が取り扱わないヘッダーを追加するためのプロパティです。ここに設定された文字列がそのまま、メールヘッダに追加されます。複数個のヘッダーを追加する場合には、各行を vbCrLF によって区切ります
Port String SMTP サーバへ接続する際にしようする、接続先の SMTP ポート番号です。
Organization String Organization: ヘッダーを追加します。ここに設定された値が、Organization ヘッダーの値となります。
Try Integer エラー時のメール再送信回数を指定します。特に指定しない場合、ComBlat J は再送信を試みません。

 

メソッド

Install(ServerName As String, MailAddress As String)

Windows レジストリ内に、Server プロパティと From プロパティの初期値を登録します。これを行っておくことによって、次回からこれらのプロパティの設定を省略することが出来ます。

正常に登録できたかどうかは IsError プロパティによってエラーがあるかどうかで調べることが出来ます。

 

Send

あらかじめ設定されたプロパティを元に、メールの送信を行います。メール送信時にエラーが発生したかどうかは IsError プロパティで確認することが出来ます。

 

AddAttach(AttachFileName As String, BinaryFlag As Boolean)

メールに添付ファイルを添えたい場合に、このメソッドを使用します。ComBlatJ は64個までの添付ファイルをサポートしています。

BinaryFlag は、添付するファイルがバイナリー形式ならば True を、テキスト形式であるならば False を設定します。バイナリーファイルを添付する場合には、base64 プロパティまたは uuencode プロパティのどちらかを True にする必要があります。

 

ClearAttach

AddAttach メソッドで追加した添付ファイル情報を削除します。