[ホーム] [会社概要] [製品] [サポート]
[BASP21 Pro] [FAQ] [アプリケーションガイド] [ユーザガイド] [リファレンス] [サンプル]
[FTP オブジェクト] [ソケット オブジェクト]
English

BASP21 Pro リファレンス

[メソッド] [プロパティ] [イベント] [BASP21P.INI] [BHELPER.EXE] [メッセージ] [ログレコード]

■ メソッド


Base64
BinaryComp
BinaryConcat
BinaryRead
BinaryWrite
Bsendm
ByteArray

Cancel

Debug
DebugClear
Diff
DownLoad

Execute

FileCheck

Form
FormBinary
FormFileName
FormFileSize
FormSaveAs
FlushMail

GetImageSize

HAN2ZEN

Kconv
KconvFile

MD5
MidB
Monitor

Process
PutLog

RcvMail
ReadDir
ReadLog
ReadMail
RepTagChar

SecureFile
SendMail
Sleep
Sort
SortFile
SortMail
StrConv

UpLoad

■ プロパティ


CodePage

Env

FireEvent
Home

IsError

LastMsg

MailBox
MailFrom
MailOption
MailQueue

PopServer

Result

Server
ShowDialog

Trap

Version

■ イベント

OnLog OnProgress

■ BASP21P.INI

BASP21P.INIは、BASP21 Proの設定ファイルです。 BASP21 Proをインストールしたディレクトリ、またはsystem32 ディレクトリに置かれます。

allow
anonymouspass
authuserpass
automakedir

cc-header
client_id
client_secret
compat
codepage

deny
downloadopt

encrypt
errorlogfile
errorlogrotate

fileshare
fireevent
ftpascext
ftpfirewall
ftpuserpass

home

inifileurl
inifileversion
ipv6

license
logcsv
loglevel
logo
logonuser
logfile
logrotate

makedir
mailbox
mailfrom
mailoption
mailoption2
mailqueue
mailuserpass
max_thread
monitor

popserver
proxy
proxyuserpass

readmailopt
refresh_token

server
server2
showdialog
source_ip
sslver

timebias
to-header
token_uri
trap

uploadopt

xmailer

zip
zipdir
zipfilter
zipopt
zippass

■ BHELPER.EXE

BHELPER.EXE は、コマンドラインからメソッドを実行するツールです。
[-e env] [-p] [-d] method argument [-o output-file]
[-e env] [-p] [-d] -i input-file [-o output-file]
[-e env] [-p] -v
引数
env    : 実行するenv名を指定
-p     : クリップボードに実行結果をコピー
-d     : 進捗ダイアログを表示
method augument : メソッド名と引数
-i input-file : メソッド名と引数をファイルから入力
-o output-file : メソッド実行結果をファイルに出力
-v      : バージョンとEnvパラメータをダイアログ表示。
解説
バッチプロセスとして BASP21 Proメソッドを実行します。
ATコマンドで定期的に実行したいメソッドなど使うと便利です。
bhelper.exeは、インストールしたディレクトリ名でフルパスで指定します。
Processメソッドは BHELPER.EXE を起動します。

以下のメソッドのみがBHELPER.EXE で使えます。
Base64メソッド Bsendmメソッド Cancelメソッド Diffメソッド DownLoadメソッド 
FileCheckメソッド FlushMailメソッド Kconvメソッド KconvFileメソッド MD5メソッド Monitorメソッド
RcvMailメソッド ReadDirメソッド ReadLogメソッド ReadMailメソッド
SecureFileメソッド SendMailメソッド SortFileメソッド SortMailメソッド
UpLoadメソッド
使用例
インストール確認のため、バージョンとenv パラメータを表示します。
c:\b21pro\bhelper -e env1 -v
c:\b21pro\x64\bhelper -e env1 -v ... x64版 の確認

次の例は、毎週金曜日の18:00にFlushMailメソッドをATコマンドで実行します。
at 18:00 /every: f /interactive c:\b21pro\bhelper -e env1 flushmail

関連項目

■ Base64メソッド

BASE64エンコード/デコード文字列を返します。
outstr = bobj.Base64(instr[,mode])
引数
instr  [in]   : 変換前の文字列。
mode   [in]   : 省略可能です。変換モードを次のように数字で指定します。
     0 - 既定値。BASE64 でエンコード。
     1 - BASE64 デコード。
     2 - ISO-2022-JP + BASE64 でエンコード。
     3 - ISO-2022-JP + BASE64 デコード。
     4 - URI エンコード。
     5 - URI デコード。
     6 - BASE64 でファイルをエンコード。
         文字列に入力ファイル名と出力ファイル名をタブまたはセミコロンで
         区切って指定します。
     7 - BASE64 でファイルをデコード。
         文字列に入力ファイル名と出力ファイル名をタブまたはセミコロンで
         区切って指定します。
outstr [out]  : 変換結果の文字列。
           変換モードが6と7の場合、変換後のファイルの長さが文字列で返ります。
           Resultプロパティでエラー番号を参照します。
解説
ISO-2022-JP + BASE64は、JISコードをBASE64変換したもので、
メールのヘッダ部分のエンコードなどに使われます。

使用例
a = bobj.Base64("馬場")   ' BASE64 エンコード。 結果:lG6P6g==
b = bobj.Base64(a,1)      ' BASE64 デコード。結果:馬場
a = bobj.Base64("馬場",2) ' ISO-2022-JP + BASE64 でエンコード。
                          ' 結果:=?ISO-2022-JP?B?GyRCR08+bBsoQg==?=
b = bobj.Base64(a,3)      ' ISO-2022-JP + BASE64 デコード。
                          ' 結果:馬場
a = bobj.Base64("馬場 .txt",4)   ' URI エンコード。結果:%94%6E%8F%EA%20.txt
b = bobj.Base64(a,5)      ' URI デコード。結果:馬場 .txt
rc = bobj.Base64("c:\data\in.jpg;c:\data\out.txt",6) ' BASE64 でエンコード。
rc = bobj.Base64("c:\data\in.txt;c:\data\out.jpg",7) ' BASE64 でデコード。
関連項目

■ BinaryCompメソッド

バイナリデータを比較します。
rc = bobj.BinaryComp(a,b[,len])
引数
a      [in]   : バイト配列。
b      [in]   : バイト配列。
len    [in]   : 比較するバイト長。既定値は、0。
rc     [out]  : 変換結果を数字で返します。
       0 - 等しい
       1 - 等しくない
解説
イメージファイルなどの文字列を比較するのに便利です。
VBScriptは直接バイナリデータをアクセスする関数を提供していません。
使用例
a=bobj.BinaryRead("c:\temp\test.jpg")
rc = bobj.BinaryComp(bobj.ByteArray("JFIF"),bobj.MidB(a,6,4))
関連項目
MidBメソッド ByteArrayメソッド BinaryReadメソッド BinaryWriteメソッド

■ BinaryConcatメソッド

バイナリデータを結合します。
outarray = bobj.BinaryConcat(inarray1,inarray2)
引数
inarray1  [in]  : 結合するバイト配列。
inarray2  [in]  : 結合するバイト配列。
outarray  [out] : 結合されたバイト配列。
解説
ファイルを結合するときなどに使います。
VBScriptは直接バイナリデータをアクセスする関数を提供していません。
使用例
a=bobj.BinaryRead("c:\temp\data1.txt")
b=bobj.BinaryRead("c:\temp\data2.txt")
c = bobj.BinaryConcat(a,b)
wlen = bobj.BinaryWrite(c,"c:\temp\data3.txt")
関連項目
MidBメソッド ByteArrayメソッド BinaryReadメソッド BinaryWriteメソッド

■ BinaryReadメソッド

ファイルを読込んでバイト配列を返します。
barray = bobj.BinaryRead(fname[,offset[,len]])
引数
fname  [in]    : ファイル名をフルパスで指定します。
offset [in]    : オフセット。既定値は 0。
               マイナスの値を指定すると順読み。バージョン 1,0,806,5以降
len    [in]    : 読込みバイト数。既定値は0で、すべてのバイト数。
barray [out]   : バイナリが配列で返ります。
                Resultプロパティでエラー番号を参照します。
解説
ASPなどでバイナリデータをダウンロードするときに使います。
FileSystemObject ではバイナリデータを読み書きするメソッドを提供していません。
使用例
barray = bobj.BinaryRead(bobj.Home & "h.xls")
Response.Buffer = TRUE
Response.Clear
Response.ContentType= "application/x-binary"
Response.AddHeader "Content-Disposition","Attachment; filename=""your.xls"""
Response.BinaryWrite barray
Response.End
'例:2GB以上のファイルを順読み込み
barray = bobj.BinaryRead(bigfile,0,len)
barray = bobj.BinaryRead(bigfile,-1,len)
barray = bobj.BinaryRead(bigfile,-1,len)
関連項目
BinaryWriteメソッド

■ BinaryWriteメソッド

バイナリデータをファイルに書込みます。イメージファイルなどをファイルとして 保存するときに使います。
wlen = bobj.BinaryWrite(barray,fname[,mode])
引数
barray [in]    : 1バイトの配列を渡します。
fname  [in]    : ファイル名をフルパスで指定します。
mode   [in]    : 上書きモード。0 : 新規作成。 1 : 追加書込み。
                 省略すると新規作成。
wlen   [out]   : 書込んだバイト数が返ります。
                 0未満の値はエラーです。
                Resultプロパティでエラー番号を参照します。
解説
FileSystemObject ではバイナリデータを読み書きするメソッドを提供していません。
使用例
wlen = bobj.BinaryWrite(barray,"g:\h2.jpg")
wlen = bobj.BinaryWrite(barray,"g:\h2.jpg",1)   ' 追加書込み
関連項目
BinaryReadメソッド

■ Bsendmメソッド

差込みメールをメールサーバに送信します。
rc = bobj.Bsendm(cmd)
引数
cmd    [in]    : パラメータ。オプションとパラメータファイルを渡します。
rc     [out]   : 送信したメール数が返ります。
                 0未満の値はエラーです。
                Resultプロパティでエラー番号を参照します。
解説
オプションは、"/" の後に、パラメータファイルは最後に指定します。
[/d] [/s] [/k] [/t] パラメータファイル

/d オプションは、送信処理後にパラメータファイルを
削除します。

/s オプションは、本文中の 文字列 "%1" を宛先ファイルで指定した置換え文字列で
置換えます。宛先別に本文の一部を変更したいときに便利です。
"%1" を送信するには "%%1" と指定します。
置換え文字の中にはタブや改行は含むことはできません。

本文中で%2を使うとその位置にテキストファイルの内容を挿入できます。
タブや改行を含んだ大量のデータを置換えるには 本文中で %2 を指定します。

/k オプションは、プログラム終了時にダイアルアップを切断します。

/t オプションは、テストモード機能です。送信内容をログファイルに書きこむだけで、
実際に送信はしません。置換モードなどをテストしたいときに使います。
	
パラメータファイルの内容
1行目	[>]ログファイル名[TAB]通知メールアドレス
2行目	SMTPサーバ名
3行目	メールアドレスファイル名
4行目	ヘッダ(複数の場合、タブで区切る)
5行目	送信元メールアドレス名
        [TAB]user:pass[[tab]login
        [TAB]user:pass[[tab]cram-md5
        [TAB]user:pass[tab]pop
6行目	件名
7行目	添付ファイル名(複数の場合、タブで区切る)
8行目以降 本文

本文以外で1桁目が '#'の行は、コメントとして無視されます。
ログファイル名の前に > を付けると、新規作成モードになります。

ログファイル名の後にタブで区切って通知メールアドレスを指定することができます。
送信完了後にメールで通知を受取ることができます。

メールアドレスファイルを1行ずつ読んで宛先を取り出します。

SMTP AUTH 機能を使う場合は、送信元アドレスの後ろにタブで区切ってユーザ名と
パスワードと"login" か"cram-md5"を指定します。
  ユーザ名:パスワード[TAB]login
  ユーザ名:パスワード[TAB]cram-md5

POP Before SMTP 機能を使う場合は、送信元アドレスの後ろにタブで区切って
ユーザ名パスワードと"pop"を指定します
  ユーザ名:パスワード[TAB]pop


宛先ファイルの内容
1行目 宛先メールアドレス名[TAB]置換え文字[TAB]置換えファイル名
                                                    [TAB]添付ファイル名
2行目 宛先メールアドレス名[TAB]置換え文字[TAB]置換えファイル名
                                                    [TAB]添付ファイル名
3行目 宛先メールアドレス名[TAB][TAB][TAB]添付ファイル名 

添付ファイルを宛先ごとに変更したいときは3番目に指定します。
1桁目が '#'の行は、コメントとして無視されます。

/s オプションを指定するときは本文中に %1 や %2 が不用意に含まれないように
注意してください。

使用例
sent = bobj.Bsendm("/s c:\test\para.txt")

============== para.txt start =======================
c:\test\log1.txt
server.hoge.com
c:\test\mailto.txt
Reply-To: <baba@hoge.net>
hoge@com [TAB] user:pass1 [TAB] pop
subjcet 2

こんにちは %1さん。
さようなら。
============== para.txt end =========================

============== mto.txt start ========================
<who1@who1.com>[TAB]who1[TAB][TAB]c:\temp\a.jpg
<who2@who1.com>[TAB]who2[TAB][TAB]c:\temp\b.jpg
============== mto.txt end   ========================
関連項目


■ ByteArrayメソッド

文字列からバイト配列を返します。
barray = bobj.ByteArray(instr[,type])
引数
instr  [in]  : 文字列。
type   [in]  : 変換のタイプを数字で指定。
             0 - 出力はSJISのバイト列。既定値。
             1 - 入力を16進形式の文字列として解釈。
             2 - 出力はUNICODEのバイト列。
barray [out] : 結果のバイナリデータ。
解説
バイナリデータを作成して比較するときに使います。
VBScriptは直接バイナリデータをアクセスする関数を提供していません。
使用例
barray = bobj.ByteArray("000102",1)  ' X'000102'
関連項目

■ Cancelメソッド

実行中のメソッドをキャンセルします。
rc = bobj.Cancel([threadid])
引数
threadid   [in] : スレッドID(数値)。既定値は、0 でカレントスレッドID。
                  ProcessメソッドやMonitorメソッドで求めたスレッドIDを指定。
rc     [out] : 戻り値。
               0 - 実行中のメソッドなし
               1 - キャンセル受付
               2 - キャンセル実行中
解説
イベント内などで実行中のメソッドをキャンセルする場合に有効です。

ProcessメソッドやMonitorメソッドで求めた他のスレッドIDを指定することができます。
他のスレッドIDのメソッドをキャンセルする場合は、同じmonitorパラメータを持つEnv名で実行する
必要があります。

実行中のメソッドをキャンセルするだけなので、メソッドを実行しているプロセスが
終了するわけではありません。キャンセルされるスクリプトでTrapプロパティを 1 に
設定しておくとキャンセル時にスクリプトを中断することができます。

使用例
rc = bobj.Cancel()
関連項目
Processメソッド Monitorメソッド Trapプロパティ monitorパラメータ

■ Debugメソッド

メモ帳のウィンドウに指定した文字列を書込みます。 メモ帳は、あらかじめ起動しておくか、DebugClearメソッドで起動できます。
rc = bobj.Debug(str[,opt])
引数
str [in]   : 書込みたい文字列を指定します。バイナリデータの場合、16進で表示します。
opt [in]   : 0 - 文字列(既定値)。1 - 16進表示。
rc  [out]  : メモ帳のウインドウハンドルを数値で返します。
             メモ帳が起動されていない場合、0 が返ります。
解説
クライアントサイドでスクリプトのデバッグなどで使います。
まず、ウインドウタイトル[BASP21 Pro Debug] のメモ帳アプリケーションを探し、
見つからない場合、[無題]のメモ帳アプリケーションが選択されます。
実行後は、選択されたメモ帳のタイトルは、[BASP21 Pro Debug] となります。
使用例
bobj.DebugClear 3                ' メモ帳ウインドウが起動されてなければ起動
bobj.Debug "Hello World"       ' おなじみ
関連項目
DebugClearメソッド

■ DebugClearメソッド

メモ帳ウィンドウをクリアします。メモ帳を起動することもできます。
rc = bobj.DebugClear([opt])
引数
opt [in]   : メモ帳が起動していなければ、起動して待つ秒数。
             既定値は、 0 で起動しません。
rc  [out]  : メモ帳のウインドウハンドルを数値で返します。
             メモ帳が起動されていない場合、0 が返ります。
解説
まず、ウインドウタイトル[BASP21 Pro Debug] のメモ帳アプリケーションを探し、
見つからない場合、[無題]のメモ帳アプリケーションが選択されます。
[無題]ウインドウも見つからない場合は、秒数が指定されていれば起動して、
その秒数待ちます。
実行後は、選択または起動されたメモ帳のタイトルは、[BASP21 Pro Debug] となります。
使用例
bobj.DebugClear 3                ' メモ帳ウインドウ起動
関連項目
Debugメソッド

■ Diffメソッド

2つのテキストファイルを比較して違いを出力します。
rc = bobj.Diff(fromfile,tofile[,outfile,offset1,offset2,len,opt])
引数
fromfile [in]  : 比較ファイルまたはディレクトリ。ディレクトリの場合、
              tofile ディレクトリの同名ファイルがすべて処理されます。
tofile   [in]  : 比較ファイルまたはディレクトリ。
outfile  [in]  : 結果を書出すファイル名。省略すると書出しません。
offset1  [in]  : 行の途中から比較したい場合、fromfile 側のオフセット値。
                 既定値は、 0 で行の先頭から比較。
offset2  [in]  : 行の途中から比較したい場合、tofile 側のオフセット値。
                 既定値は、 0 で行の先頭から比較。
len      [in]  : 比較するバイト長。既定値は、 0 で改行までのバイト数。
opt      [in]  : 既定値は 0 - なし。1 - 後続のブランクを無視。
rc       [out] : 違いを検出した行数。等しい場合は、0 を返します。
解説
[出力フォーマット]
各行の先頭の文字がフラグを示します。
フラグ名前説明
>-- ファイルタイトルfromfileファイル名
>++ ファイルタイトルtofileファイル名
@@ ヘッダ位置情報ブロック開始
-fromfile行fromfileファイルで削除された行
+tofile行tofileファイルで追加された行
タイトル : 比較したファイル情報を示す2行です。 >-- fromfile para=(n1,n2) yyyy/mm/dd hh:mm:ss file-size fromfile - ファイル名 n1 - オフセット n2 - 長さ yyyy/mm/dd hh:mm:ss - ファイルの更新日 file-size - ファイルサイズ >++ tofile para=(n1,n2) yyyy/mm/dd hh:mm:ss file-size tofile - ファイル名 ヘッダ : 位置情報ブロックの開始。違いを検出した行位置と行数を 1行で示します。 @@ -nnn1,nnn2 +nnn3,nnn4 @@ 使用例 rc = bobj.Diff("c:\temp\a1.txt",c:\temp\a2.txt) 結果例: >-- c:\test\from.txt para=(0,0) 2001/01/21 10:10:32 6172 >++ c:\test\to.txt para=(0,0) 2001/01/21 11:41:46 6075 @@ -3,2 +3,0 @@ -abtfhgjjj - 12月リリース! @@ -12,5 +10,0 @@ - xyz - ghh 関連項目

■ DownLoadメソッド

指定したURLのターゲットファイルをファイルに保存します。 HTTPとFTPプロトコルをサポートします。SSLによる暗号化の通信をサポートします。
rc = bobj.DownLoad(url,file[,opt])
引数
url  [in]   : URLを"http://" または "ftp://"で始まる文字で指定します。
              SSL を使って通信を暗号化する場合には "https://"を指定します。

file [in]   : 保存するファイル名を指定します。
              先頭に"?" をつけると実行時にファイル選択ダイアログを表示します。
            ?[title][?dir][?filter]
            title  : ダイアログのタイトル文字。省略値は、"ファイルを開く"
            dir    : 初期フォルダ名。省略値は、カレントフォルダ。
            filter : ファイルの種類。
            省略値は、"すべてのファイル(*.*);画像(*.gif,*.jpg);HTML(*.htm,*.html)"。
            使用例:
            file = "?"
            file = "?ファイルの選択?c:\temp?Excelファイル(*.xls);PPTファイル(*.ppt)"
            file = "?ファイルの選択??Excelファイル(*.xls)"
            file = "???イメージ(*.gif,*.jpg,*.jpeg)"
opt  [in]   : パラメータを次のように指定します。
              downloadoptパラメータが既定値です。
-r recovery-dir : 再開ダウンロード保存ディレクトリ名。
     起動時には同名の保存ファイルがある場合は、処理が再開されます。
     何らかの理由で処理が中断された場合に途中までのファイルが保存されます。
-r パラメータを指定しない場合、再開処理されません。
-j encode-code : ファイルに保存するとき文字コード変換します。
    sjis : SJIS
    euc  : EUC
    jis  : JIS
    ucs2 : UNICODE UCS-2
    utf8 : UNICODE UTF-8
-t timeout    : 通信タイムアウト値を秒数で。既定値 120 
-p proxy      : HTTP プロクシサーバ名。
-A user:pass  : HTTP "Authorization: Basic" ヘッダー。
-P user:pass  : HTTP "Proxy-Authorization: Basic"  ヘッダー。
-h level      : HTTPヘッダーのみアクセス。
    1: ログに保存  2: ファイルに保存  3: ファイルとログの両方
-f "firewall-arg" : FTP ファイアーウォールパラメータ。
    "fhost fuser/fpass SITE"
    "fhost fuser/fpass"
    "fhost"
    "fhost OPEN"
-F user:pass  : FTP ユーザとパスワード。 ":" で区切ります。
-a    : FTP ASCII モード
-s    : FTP PASV モード
-c    : HTTP クッキー指定。名前=値 の形式で。
-x    : HTTP ヘッダー。複数指定できます。
-n "sslcertname" : SSLクライアント証明書の発行先名を指定します。
rc [out] : 作成されたファイル数を返します。
解説
オプションは、downloadoptパラメータが既定値です。
ShowDialogプロパティで進捗ダイアログを表示できます。
2GB(2147483648)以上のファイルサイズのファイルは、ダウンロードできません。


IIS配下の匿名アクセスでSSL指定のDownLoadメソッドを使う場合は、logonuserパラメータを使って
Admin権限を持つアカウントを偽装する必要があります。
匿名アクセスのIUSR_マシン名 アカウントのままでは DownLoadメソッドが-80 エラーで
失敗します。

IPv6で接続したい場合は、ipv6 パラメータ設定が必要です。
BASP21P.INI ファイルでの設定例:
ipv6=1

コードでの設定例:
bobj.Env = "+ipv6=1"

IPv6のIPアドレスは、半角の角括弧"[]"で囲んで指定します。

rc = bobj.DownLoad("http://[::1]/index.html","c:\temp\a.txt","-j sjis")


使用例
1. sjisコードで保存
rc = bobj.DownLoad("http://www.yahoo.co.jp/index.html","c:\temp\a.txt","-j sjis")
2. SSLを使ってeucコードで保存
rc = bobj.DownLoad("https://www.naisho.com/secure.html","c:\temp\naisho.txt","-j euc")
3. クッキー指定
opt = "-c ""acc=xxxxx"""
rc = bobj.DownLoad("http://www.yahoo.co.jp/index.html","c:\temp\a.txt",opt)
4. RefererヘッダーとUser-Agentヘッダー指定
opt = "-x ""Referer: http://hogehoge.com"""
opt2 = " -x ""User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"""
rc = bobj.DownLoad("http://www.yahoo.co.jp/index.html","c:\temp\a.txt",opt & op2)
5. プロクシ使用時にキャッシュを使わずに読込み
opt = "-x ""Pragma: no-cache"" -x ""Cache-Control: no-store"""
rc = bobj.DownLoad("http://www.yahoo.co.jp/index.html","c:\temp\a.txt",opt)
6. ftpでファイルを保存、再開ダウンロード指定
bobj.ShowDialog = 3   ' 進捗ダイアログを中央に表示
rc = bobj.DownLoad(ftp://user:pass@who.com/dir/big.data",_
                               "c:\temp\big.data","-r c:\recdata")
関連項目
UpLoadメソッド downloadoptパラメータ

■ Executeメソッド

外部プログラムを起動して標準出力を受取ります。
stdout = bobj.Execute(command,mode)
引数
command [in]  : プログラム名とパラメータを指定します。
mode    [in]  : 次のモードを数字で指定します。
     0  - プログラムを起動して終了を待たずに戻ります。
     1  - プログラムを起動して終了するまで待ちます。
          標準出力を文字列で受取ります。
     2  - プログラムを起動して終了するまで待ちます。
          標準出力をバイナリで受取ります。
     3以上の値  - プログラムの終了を指定した時間(msec)だけ
          待ちます。指定した時間内に終われば標準出力を受取ります。
          奇数の場合は、標準出力を文字列で、偶数の場合は
          標準出力をバイナリで受取ります。
          タイムアウトを指定したいときはこちらを使います。
stdout [out] : 標準出力を受取ります。
解説
Resultプロパティに結果が設定されます。
実行中または終了したプロセスのスレッドID(数値)を返します。
失敗した場合は0が返り、エラー番号をResultプロパティに設定します。
Win32プログラム以外を起動するときは、cmd.exeで実行します。

使用例
stdout = bobj.Execute("net view",1)
If bobj.Result > 0 Then
  bobj.Debug stdout
End If
関連項目
Processメソッド

■ FileCheckメソッド

ファイルが存在すればファイルサイズを返します。 オプションによりディレクトリ内のファイル数、またはファイル内の行数を返します。
fsize = bobj.FileCheck(fname[,opt])
引数
fname [in]  : 調べるファイル名またはディレクトリのフルパス。
opt   [in]  : 調べるタイプを数字を組み合わせて指定します。
      0 - ファイルサイズ(既定値)。
      1 - ディレクトリ内のファイル数
      2 - ディレクトリ内のディレクトリ数
      4 - サブディレクトリを再帰的に処理
      8 - ファイル内の行数
      16 - 1KB単位のサイズを返す。バージョン 1,0,806,5以降
      32 - 1KB単位のサイズの余りを返す。バージョン 1,0,806,5以降
fsize [out] : ファイルサイズまたはファイル数を返します。
      0以上 : ファイルサイズまたはファイル数
      0以下 : エラー番号を示します。
解説
総称名+再帰的に処理する場合は、サブディレクトリも名前で選択されます。
fcnt = bobj.FileCheck("c:\winnt\system32\*.dll",1+4)
2GB(2147483648)以上のファイルサイズの場合は、オプションで1KB単位を指定します。
使用例
fsize = bobj.FileCheck("c:\temp\a1.txt")  ' ファイルサイズ
 'ファイルとディレクトリ数を再帰的に計算します。
totalfcnt = bobj.FileCheck("c:\temp",7)
 'CPPファイルの行数
totalline = bobj.FileCheck("c:\temp\*.cpp",8)
' 2GB以上のファイルサイズ
kb = bobj.FIleCHeck(file,16)
amari = bobj.FIleCHeck(file,32)
total = kb*1024 + amari
関連項目
ReadDirメソッド

■ FlushMailメソッド

メールキュー内のメールファイルを取出してメールサーバに送信します。 SMTPコネクションは、1回のみなので大量送信でも高速です。
rc = bobj.FlushMail([svr,dir])
引数
svr  [in]  : SMTPサーバ名。
             省略するとServerプロパティの値が使われます。
dir  [in]  : メールキューのディレクトリ名。
             省略するとMailQueueプロパティの値が使われます。
rc   [out] : 送信メール数。マイナスの値の場合は、エラー番号です。
解説
FlushMailメソッド実行時は、以下のようにメールキューの内容は変更されます。
メールキューに sent サブディレクトリを作成しておくと、メール送信が
成功したメールファイルを sent サブディレクトリに移動します。
sent サブディレクトリがない場合は、送信されたメールファイルは削除されます。

メールキューに err サブディレクトリを作成しておくと、メール送信が
失敗したメールファイルを err サブディレクトリに移動します。
err サブディレクトリがない場合は、送信失敗のメールファイルはそのまま残されます。

同じメールキューに対してFlushMailを実行した場合、2回目以降のFlushMail は
エラー復帰します。
FlushMailを実行開始時にメールキューに存在したメールファイルのみ処理されます。
FlushMail実行途中で追加されたメールファイルは、送信されずに残されます。

同じメールキュー内のメールファイルを読み込むには、ReadMailメソッドを使います。

max_threadパラメータを指定してマルチスレッドで処理すると高速化可能です。


使用例
rc = bobj.FlushMail()
out = bobj.ReadMail(bobj.MailQueue & "\err")  ' エラーメールを読込む
関連項目
MailQueueプロパティ mailqueueパラメータ max_threadパラメータ SendMailメソッド ReadMailメソッド

■ Formメソッド

HTMLのフォーム(ENCTYPE="multipart/form-data")で入力された内容をテキストで返します。
str = bobj.Form(barray,name[,code)
引数
barray [in]    : Request.BinaryReadメソッドで読込んだフォーム全体の内容。
name   [in]    : <INPUT>タグのNAMEタグで指定した名前を指定します。
code   [in]    : 入力文字コード。既定値は、0。
       0,1 - SJIS
       2  - EUC
       3  - JIS
       4  - UNICODE UCS2
       5  - UNICODE UTF8
str   [out]    : <INPUT>タグで入力された内容がテキストで返ります。
                 タグが複数ある場合、各データはタブで区切られます。
解説
SJISコード以外のファイル名の場合は、入力文字コードを指定してください。
Request.BinaryReadメソッドを呼ぶと、Request.Formメソッドが
エラーで呼び出せなくなるため、Request.Formメソッドの代わりに使います。
使用例
name = bobj.Form(barray,"yourname")
関連項目
FormBinaryメソッド FormFileNameメソッド FormFileSizeメソッド FormSaveAsメソッド  encrtptパラメータ

■ FormBinaryメソッド

HTMLのフォーム(ENCTYPE="multipart/form-data")で入力された内容を バイナリデータで返します。
sarray = bobj.FormBinary(barray,name)
引数
barray [in]    : Request.BinaryReadメソッドで読込んだフォーム全体の内容。
name   [in]    : <INPUT>タグのNAMEタグで指定した名前を指定します。
sarray [out]    : <INPUT>タグで入力された内容がバイナリデータで返ります。
解説
内容をコード変換しないで取り出すときに使います。
使用例
sarray = bobj.FormBinary(barray,"file1")
関連項目
Formメソッド FormFileNameメソッド FormFileSizeメソッド FormSaveAsメソッド encrtptパラメータ

■ FormFileNameメソッド

HTMLのフォーム(ENCTYPE="multipart/form-data")でアップロードされたファイル名を 返します。
filename = bobj.FormFileName(barray,name[,code])
引数
barray [in]    : Request.BinaryReadメソッドで読込んだフォーム全体の内容。
name   [in]    : <INPUT>タグのNAMEタグで指定した名前を指定します。
                 名前の最後に"*" を指定すると、type=file multiple でアップロードされた
                 すべてのファイル名。ファイル名の間はタブ区切り。
code   [in]    : 入力文字コード。デフォルトは、0。
       0,1 - SJIS
       2  - EUC
       3  - JIS
       4  - UNICODE UCS2
       5  - UNICODE UTF8
filename   [out]   : TYPE=FILEタグで指定したファイル名が返ります。
解説
SJISコード以外のファイル名の場合は、入力文字コードを指定してください。
type=file multiple 処理モードは、バージョン 1,0,1702,9以降でサポートされます。
使用例
filename = bobj.FormFileName(barray,"Filedata")
関連項目
Formメソッド FormBinaryメソッド FormFileSizeメソッド FormSaveAsメソッド encrtptパラメータ

■ FormFileSizeメソッド

HTMLのフォーム(ENCTYPE="multipart/form-data")でアップロードされた ファイルのサイズを返します。
filesize = bobj.FormFileSize(barray,name)
引数
barray [in]    : Request.BinaryReadメソッドで読込んだフォーム全体の内容。
name   [in]    : <INPUT>タグのNAMEタグで指定した名前を指定します。
filesize   [out]   : TYPE=FILEタグで指定したファイル名が返ります。
解説
使用例
filesize = bobj.FormFileSize(barray,"Filedata")
関連項目
Formメソッド FormBinaryメソッド FormFileNameメソッド FormSaveAsメソッド encrtptパラメータ

■ FormSaveAsメソッド

HTMLのフォーム(ENCTYPE="multipart/form-data")でアップロードされた TYPE=FILEで指定したファイルの内容をファイルに保存します。
wlen = bobj.FormSaveAs(barray,name,[encode]fpath[,mode])
引数
barray [in]    : Request.BinaryReadメソッドで読込んだフォーム全体の内容。
name   [in]    : フォームのNAMEタグで指定した名前を指定します。
                 "*" のみを指定するとすべてのファイルを保存(UpLoadメソッド使用時のみ)。
                 "タグ名*" を指定するとすべてのファイルを保存(type=file multiple使用時)。
fpath  [in]    : 書込むファイル名をフルパスで指定します。
                 同じファイル名が存在した場合、modeパラメータの指定により
                 上書き、追加、エラー処理が実行されます。
                 name に"*" を指定したときはディレクトリ名(UpLoadメソッド使用時のみ)。
                 "タグ名*" を指定したときはディレクトリ名(type=file multiple使用時)。
enocde [in]    : type=file multiple使用時は、ファイル名のエンコードを指定可能です。
                 フォルダ名の前に1文字数字で指定します。
                 0,1 - SJIS または無指定
                 2  - EUC
                 3  - JIS
                 4  - UNICODE UCS2
                 5  - UNICODE UTF8
mode   [in]    : ファイルの処理モードを数値で指定します。
                 0 - 上書きモード。ファイルを上書きします。既定値。
                 1 - 上書き禁止モード。ファイルが存在する場合は、エラーを返します。
                 2 - 追加モード。ファイルが存在する場合は、ファイルの最後にデータを追加します。
                 4 - BinaryRead分割読込みモード。初回のBinaryRead読込みデータで指定します。
                 5 - BinaryRead分割読込みモード。2回目以降のBinaryRead読込みデータで指定します。
                 6 - ファイルの削除。
                 1024以上 - 以下の形式のファイル名を持つサイズ0のファイルを作成。
                            ファイル名-Length-数値

処理モード 4,5,6 は、バージョン 1,0,806,5以降でサポートされます。
処理モード 1024以上は、バージョン 1,0,806,16以降でサポートされます。
type=file multiple 処理モードは、バージョン 1,0,1702,9以降でサポートされます。
wlen   [out]   : 書込んだバイト数が返ります。
                 name に"*" を指定したときは ファイル数を返します。
                 マイナスの値の場合は、エラー番号を示します。
解説
クライアントサイドでUpLoadメソッドでアップロードした場合は、"*" を指定して
複数ファイルを一度のFormSaveAsメソッド呼出しで保存できます。
NTFSで使う場合は、書込むディレクトリにアクセス権限を適切に設定してください。
UpLoadメソッドで分割アップロード機能(-Gオプション)を使う場合は、追加モードを使います。

IEアップロード(TYPE=FILE)をスピードアップするには、
Windowsレジストリを編集して、SocketSendBufferLength にWinsockの送信バッファサイズを
設定する方法があります。
詳細は、マイクロソフトのサイトHTTP File Upload Operation Takes a Long Time to Completeを参照してください。

大きいファイルサイズをアップロードする場合は、Request.BinaryReadメソッドを繰返し呼ぶ必要があります。

type=file multiple で複数ファイルを処理可能です。
保存ファイル名ではなく、ディレクトリ名を指定します。
ディレクトリ名の前に、ファイル名の文字コードのエンコードを指定可能です。
省略時は、sjis となります。


zipパラメータを指定すると
ZIPファイルをアップロードして展開できます。
ZIP処理は、バージョン1,0,1710,20以降でサポートされます。


使用例
a=Request.TotalBytes
barray=Request.BinaryRead(a)
wlen = bobj.FormSaveAs(barray,"Filedata","g:\h3.jpg")
wlen = bobj.FormSaveAs(barray,"mfile*","g:\wk") ' input type="file" name="mfile" multiple
wlen = bobj.FormSaveAs(barray,"mfile*","5g:\wk") ' input type="file" name="mfile" multiple  UTF-8 でファイル名をエンコード

' ZIP展開
bobj.Env = "+zip=formsaveas" ' ZIP処理指定
bobj.Env = "+zipdir=c:\temp\zip" ' 展開先フォルダ
bobj.Env = "+zippass=パスワード!" ' パスワード
rc = bobj.FormSaveAs(b,"xfile001",fpath)

関連項目
Formメソッド FormBinaryメソッド FormFileSizeメソッド FormFileNameメソッド  UpLoadメソッド
encrtptパラメータ zipパラメータ

■ GetImageSizeメソッド

イメージファイル(JPEG,GIF,BMP)の表示画面サイズを返します。
strsize = bobj.GetImageSize(filename)
引数
strsize [out]   : 幅と高さが"x"文字で区切られ、ピクセル単位で返ります。
              例: "200x300"。
                 エラーの場合は、以下のマイナスの数値が文字列で返ります。
              "-1" : ファイルのオープンに失敗。
              "-2" : メモリ不足。
              "-3" : ファイル読込みエラー。
              "-4" : データストリームエラー。
              "-5" : 無効の画像イメージ。

filename [in]  : イメージファイルのファイル名をフルパスで指定します。
解説
ディスプレイの論理インチ単位のピクセル数は、96とみなして計算します。
使用例
imagesize = bobj.GetImageSize("c:\temp\ok.jpg")
関連項目

■ HAN2ZENメソッド

文字列の中の半角カナを全角カナに変換します。濁音にも対応。
strout = bobj.HAN2ZEN(str)
引数
strout [out]   : 変換後の文字列が返ります。
str [in]  : 変換したい文字列。
解説
半角カナのみを全角にします。
使用例
a = bobj.HAN2ZEN(b)
関連項目
StrConvメソッド

■ Kconvメソッド

文字列を指定した漢字コードに変換します。 変換前の漢字コードのタイプが不明の場合、自動認識します。
out = bobj.Kconv(instr,outtype[,intype])
引数
instr   [in]  : 変換したい文字列(UNICODEの場合)、またはバイト配列。
outtype [in]  : 変換後の漢字コードのタイプを数字で指定します。
           0  - 変換せずに漢字タイプを数字で返します
           1  - SHIFT JIS
           2  - EUC
           3  - JIS
           4  - UNICODE UCS2
           5  - UNICODE UTF8
intype  [in]  : 変換前の漢字コードのタイプが確定しているとき数字で指定します。
           0  - 不明(省略値)。自動認識します。
           1  - SHIFT JIS
           2  - EUC
           3  - JIS
           4  - UNICODE UCS2
           5  - UNICODE UTF8
out  [out] : 変換後の漢字コードを文字列(UNICODEの場合)あるいはバイト配列で
             返します。
             outtype = 0 なら漢字のタイプを数字で返します。
解説
次のような場合、漢字コードの自動認識が失敗することがあります。
o SHIFT JISで半角カナのみ
o 漢字文字数が少ない
o UNICODE UTF8
使用例
jisarray = bobj.Kconv("馬場",3)           ' UNICODE UCS2からJISに変換
outcode = bobj.Kconv(jisarray,4)          ' JISからUNICODE UCS2に変換
関連項目
KconvFileメソッド

■ KconvFileメソッド

ファイルを読込んで指定した漢字コードに変換してファイルに書込みます。 変換前の漢字コードのタイプが不明の場合、自動認識します。
rc = bobj.KconvFile(infile,outfile,outtype[,intype])
引数
infile  [in]  : 変換前のファイル名。
outfile [in]  : 変換後に書込むファイル名。
outtype [in]  : 変換後の漢字コードのタイプを数字で指定します。
           0  - 変換せずに漢字タイプを数字で返します
           1  - SHIFT JIS
           2  - EUC
           3  - JIS
           4  - UNICODE UCS2
           5  - UNICODE UTF8
intype  [in]  : 変換前の漢字コードのタイプが確定しているとき数字で指定します。
           0  - 不明(省略値)。自動認識します。
           1  - SHIFT JIS
           2  - EUC
           3  - JIS
           4  - UNICODE UCS2
           5  - UNICODE UTF8
rc   [out] : 変換後のファイルの大きさを返します。マイナスの値は、エラーです。
             outtype = 0 なら漢字のタイプを数字で返します。
             マイナスの値の場合は、エラー番号を示します。
解説
次のような場合、漢字コードの自動認識が失敗することがあります。
o SHIFT JISで半角カナのみ
o 漢字文字数が少ない
o UNICODE UTF8
使用例
len = bobj.KconvFile("c:\sjis.txt","c:\euc.txt",2,1)   ' SHIFT JIS からEUCに変換
関連項目
Kconvメソッド

■ MD5メソッド

メッセージダイジェストを返します。MD5,SHA-256,SHA-384,SHA-512を選択可能です。
md5 = bobj.MD5(str[,type])
引数
str    [in]  : 対象の文字列またはファイル名を指定します。
type   [in]  : 入力種別を数字で指定します。
               0: 文字列。デフォルト。
               1: ファイル。
               256: SHA-256 文字列。
               384: SHA-384 文字列。
               512: SHA-512 文字列。
               257: SHA-256 ファイル。
               385: SHA-384 ファイル。
               513: SHA-512 ファイル。
md5    [out]  : メッセージダイジェストを返します。32文字です。
               SHA-256 の場合、64文字。
               SHA-384 の場合、96文字。
               SHA-512 の場合、128文字。
解説
メッセージダイジェストは、128 ビットのチェックサムを文字列またはファイルに
対して計算して32バイトの16進文字を返します。
チェックサムは、どんなに巨大なファイルでも128 ビットなので、ファイルのコピーの
代わりに32バイトのチェックサムのみを保存しておけばファイルが変更されているか
どうか確認できます。 
SecureFileメソッドは、メッセージダイジェストを使ってファイルの変更を検出します。

ファイル名と共にこのチェックサムを表示して、ファイルの改ざんをチェックできるよう
にしているダウンロードサイトもあります。

SHA-256,SHA-384,SHA-512モードは、バージョン 1,0,1702,9以降でサポートされます。

使用例
md5 = bobj.MD5("馬場")
md5 = bobj.MD5("c:\basp21p\basp21p.dll",1) ' MD5 ファイル
SHA512 = bobj.MD5("c:\basp21p\basp21p.dll",513) ' SHA-512 ファイル
関連項目
SecureFileメソッド

■ MidBメソッド

バイト配列をオフセットとバイト数で取出します。
outarray = bobj.MidB(inarray,offset[,len])
引数
inarray  [in]   : バイト配列。
offset   [in]   : 取出し開始位置を数字で指定します。最初の位置は、0 です。
                  マイナスを指定すると右端からの相対で取出します。
len      [in]   : 取出すバイト数を指定します。省略値は、0 で最後まで取出します。
outarray [out]  : 結果をバイト配列で返します。
解説
VBScriptは直接バイナリデータをアクセスする関数を提供していません。
使用例
outarray = bobj.MidB(b,128)   ' 先頭から 128 バイトスキップした残り
outarray = bobj.MidB(b,-128)  ' 最後の 128 バイトデータ
outarray = bobj.MidB(b,128,256)   ' 先頭から 128 バイトスキップした256バイト
関連項目
BinaryReadメソッド

■ Monitorメソッド

他のスレッドのBASP21 Proオブジェクトの実行状態を調べます。
outarray = bobj.Monitor([opt])
引数
opt  [in]   : オプションを次の数字の組合わせで指定します。
    0  - 既定値。メソッド名、スレッドID、状況、スレッドの開始時間、最終ログレコード、
         最終進捗データのすべての情報をCR+LF 区切りで返します。
    1  - メソッド名を返します。
    2  - スレッドID(数値)を返します。
    4  - 状況を返します。
    8  - スレッドの開始時間を返します。
    16  - 最終ログレコードを返します。
    32 - 最終進捗データを返します。
outarray [out]  : 結果を文字列の配列で返します。
                  Resultプロパティに実行中の他のスレッド数が返ります。
解説
monitorパラメータを持つenv名で実行中のBASP21 Proオブジェクトは、メソッドの進捗状態を
ファイルに書出しています。
Monitorメソッドは、これらのファイルを内容を返します。
各配列の出力形式は:
メソッド名{CRLF]スレッドID[CRLF]実行状態[CRLF]スレッド開始時間[CRLF]最終ログレコード[CRLF]最終進捗状況

最終進捗状況は、FireEventプロパティが有効の場合のみ出力されます。

Cancelメソッドで他のスレッドのメソッドをキャンセルできます。

PutLogメソッドを実行をした場合も最終ログレコードに記録されます。
これを使ってBASP21 Pro以外のメソッドを実行する処理の前後に PutLogメソッドを実行すると
効果的にモニターできます。
bobj.PutLog("Request.BinaryRead 開始")
b=Request.BinaryRead(a)
bobj.PutLog("Request.BinaryRead 終了")

使用例
outarray = bobj.Monitor()
関連項目
monitorパラメータ Cancelメソッド PutLogメソッド

■ Processメソッド

BASP21 Proのメソッドを別プロセスで実行します。 実行可能なメソッドは、次のとおりです。
SendMail,RcvMail,DownLoad,Upload,SortFile,Diff,FlushMail,Bsendm,SecureFile
rc = bobj.Process(cmd)
引数
cmd  [in]   : パラメータを以下の形式で指定します。
              [-e env] [-d] メソッド名 引数1,引数2... [-i パラメータファイル]
             env - 実行時のEnvプロパティの値。
             -d  - ダイアログ表示
             メソッド名 ブランクを空けて引数をカンマで区切って指定。
             引数の中にブランクやカンマを含む場合は、"" で区切ります。
             -i  - パラメータファイル。複数のメソッドを実行できます。
             1行にメソッド名と引数を指定します。
rc   [out]  : プロセスの起動が成功すると別プロセスのスレッドID(数値)を返します。
       失敗した場合は0が返り、エラー番号をResultプロパティに設定します。
解説
戻り値のスレッドID を指定してCancelメソッドを呼出すとProcessメソッドで起動したメソッドを
キャンセルできます。
別のスレッドのメソッドをキャンセルする場合は、同じmonitorパラメータを持つEnv名で実行する
必要があります。

monitorパラメータを使ってスレッドIDを求めることもできます。

使用例
rc = bobj.Process("-e test FlushMail") ' FlushMailメソッド
rc = bobj.Process("-e test -i c:\test\cmd.txt") ' 複数メソッド実行
関連項目
Monitorメソッド monitorパラメータ Cancelメソッド

■ PutLogメソッド

ログファイルに文字列を書出します。
rc = bobj.PutLog(data)
引数
data  [in]   : 文字列。 "%sys" は、メモリ情報に置換えます。
rc    [out]  : スレッドID(数値)を返します。
解説
monitorパラメータを使っている場合、PutLogメソッドのデータはモニターファイルにも
記録されます。
これを使ってBASP21 Pro以外のメソッドを実行する処理の前後に PutLogメソッドを実行すると
効果的にモニターできます。
bobj.PutLog("Request.BinaryRead 開始")
b=Request.BinaryRead(a)
bobj.PutLog("Request.BinaryRead 終了")

使用例
rc = bobj.PutLog("memory is %sys")
関連項目
ReadLogメソッド logfileパラメータ Monitorメソッド ログレコード


■ RcvMailメソッド

POP3プロトコルでメールを受信します。受信したメールの内容はそのままファイルに 保存します。 保存したメールファイルの内容を読むには ReadMailメソッドを使います。
output = bobj.RcvMail(user,pass,command[,dirname])
引数
user   [in]  : メールアカウントのユーザ名。
pass   [in]  : メールアカウントのパスワード。
               APOP 認証をするには、パスワードの前に "a" または "A" に 1個の
               ブランクをつけます。
          "a " & "xxxx" : サーバがAPOP 未対応なら通常のUSER/PASS 処理をします。
          "A " & "xxxx" : サーバがAPOP 未対応ならエラーになります。
command [in]  : コマンドを指定します。
       STAT ...... メール数と総バイト数のみを返します
       LIST [n[-n2]] .. n番目からn2番目までのメールの
                   Subject、From、Dateヘッダーの内容のみを返します。
                   n2を省略するとn番目のメールを読込みます。
                   nとn2を省略するとすべて(32768まで)読込みます。
       SAVE n[-n2] .... n番目のメールを受信します
                        n2を指定するとn2番目までのメールを受信します。
       SAVD n[-n2] ... n番目のメールを受信し、サーバのメールボックスから
                   削除します
                   n2を指定するとn2番目までのメールを受信して削除します
       DELE n[-n2] ... n番目のメールをサーバのメールボックスから削除します
                   n2を指定するとn2番目までのメールを削除します
       SAVEALL ... 全てのメール(32768まで)を受信します
       SAVEALLD .. 全てのメール(32768まで)を受信し、サーバのメールボックスから
                   削除します
       SAVENEW ... 新着メール(32768まで)を受信します
       SAVENEWD .. 新着メール(32768まで)を受信し、サーバのメールボックスから
                   削除します
       UIDL ...... メールのUIDLを返します。
       SIZE ...... メールのサイズを返します。
       DELU ...... 指定したUIDLX(後述)のメールをサーバから削除します。
                   複数メールを削除する場合は、UIDLX を "," で区切ります。
                   一度に8191 個までのUIDLX を指定できます。
dirname [in] : 受信したメールを保存するディレクトリ名を指定します。
       既定値は、MailBoxプロパティの値。
       受信して保存されたメールファイル名は、UIDLXと呼ばれる形式になります。
       同一ディレクトリにすでに同名ファイルが存在する場合(同じUIDLXのメール)、
       そのファイル名を返し、メールを受信し直しません。
       bobj.RcvMail(user1,pass1,"SAVENEW")

       UIDLX BASP21 用語でメールサーバからのメール固有のUIDL を
       ファイル名に対応させるため、
       英数字(Xを除く)とピリオド以外の文字をXをつけて16進文字に変換したIDです。
       詳細は、UIDLとUIDLXを参照してください。


output [out] : メール受信の結果を配列で返します。配列内容はコマンドによって
               次のようになります。エラーが発生した場合は、配列を返しません。
       STAT - メール数と総バイト数。例:output(0) -> 2 4011
       LIST - タブで区切られたSubject、From、Dateヘッダーの内容
       例:output(0) -> "Subject: こんにちは\tFrom: hoge@hoge.com\t
                                                Date: 2000/09/15 11:11:30"
           output(1) -> "Subject: こんにちは2\tFrom: hoge@hoge.com\t
                                                Date: 2000/09/15 12:11:30"
       SAVE/SAVD/SAVEALL/SAVEALLD/SAVENEW/SAVENEWD - 受信したメールを保存したファイル名。
       DELE - 削除したメール数を返します
Resultプロパティ : 配列数を示します。0の場合、該当メールなし。負の値の場合はエラーです。
解説
POP3サーバ名は、PopServer プロパティで設定します。
POP3サーバ名の既定値は、popserverパラメータで指定することができます。

メールアカウントのユーザ名とパスワードを空にするとmailuserpassパラメータが使われます。
outarray = bobj.RcvMail("","","SAVE 1-10",dirname)

JavaScript では、以下のように戻り値の配列を標準JavaScript配列に変換します。

var rc = bobj.RcvMail(.......);
var rc2 = (new VBArray(rc)).toArray();
var rc3 = rc2[0];


VBArrayオブジェクト(JavaScript)


toArray メソッド (VBArray) (JavaScript)

使用例
user = "who"         ' メールアカウント名
pass = "alibaba"     ' パスワード
outarray = bobj.RcvMail(user,pass,"SAVE 1-10")
if IsArray(outarray) then	' OK ?
   for each file in outarray
      array2 = bobj.ReadMail(file,"subject:from:date:")
      if IsArray(array2) then	' OK ?
        for each data in array2
           Response.Write Server.HTMLEncode(data)
        next
      endif
   next
end if		
関連項目
ReadMailメソッド SortMailメソッド PopServerプロパティ mailuserpassパラメータ
MailBoxプロパティ mailboxパラメータ

■ ReadDirメソッド

ディレクトリの中のファイル名を配列で返します。
farray = bobj.ReadDir(dirname & option)
引数
dirname [in]  : ディレクトリ名のフルパスを指定します。
option  [in]  : オプション。 " :" の後に次の文字を指定します。
                s - 順ソート
                S - 逆順ソート
                t - ファイルの更新日付でソート
                T - ファイルの更新日付とファイル名を返す
                D - サブディレクトリ名は返さない
farray  [out] : ディレクトリ内のファイル名やサブディレクトリ名を
                配列で返します。
解説
使用例
dir = "c:\data\*.*"
option = " :St"   ' 更新日付が新しい順にソート
farray = bobj.ReadDir(dir & option)
option = " :stT"   ' 更新日付が古い順にソート。日付も返す。
farray = bobj.ReadDir(dir & option)
関連項目
FileCheckメソッド

■ ReadLogメソッド

BASP21ログファイルを読込みます。
farray = bobj.ReadLog(type,count[,filter[,scanlimit]])
引数
type    [in]  : ログのタイプを数字で指定します。
                0 - 通常ログファイル
                1 - エラーログファイル
                2 - HTML TABLE 形式
count  [in]   : 読込みたい行数。マイナスの場合、ログの最後から逆読みします。
filter [in]   : 検索文字列。指定した文字を含む行のみ返します。
scanlimit [in] : 検索する最大行数。
farray  [out] : ログ行を改行区切りで返します。
解説
ログレコードの形式は、ログレコードを参照。
使用例
farray = bobj.ReadLog(2,-200,"FrushMail",1000)
c=now()    ' 開始時刻
bobj.Env="tatsuo:" & c    ' 開始時刻をマーカーとしてログに書く
bobj.DebugClear 3
bobj.Debug bobj.ReadLog(0,-50,c,50)  ' マーカーを持つログを出力

関連項目
PutLogメソッド logfileパラメータ ログレコード

■ ReadMailメソッド

RcvMailメソッドで受信したメールを読込みます。 添付ファイルは、このメソッドで展開します。 メールキュー内に残っているメール内容も読むことができます。
output = bobj.ReadMail(file[,para[,dirname]])
引数
file   [in]  : RcvMailメソッドで保存したファイル名をフルパスで指定します。
               メールキューのメールを読むには、メールキューのディレクトリを
               指定します。
para   [in]  : 読みたいヘッダーを選択します。省略するとすべてのヘッダーが
           読込まれます。
           nofile: と指定すると添付ファイルは、保存されません。
           nobody: と指定すると本文は、読み込まれません。
           例:  subject:from:date:
           Dateヘッダは、BASP21が動作するOS設定のローカル時間に変更されます。
           ローカル時間は、timebiasパラメータで変更できます。

          メールキューのディレクトリを指定した場合には、以下のヘッダのみ指定可能です。
          fname: - メールファイル名
          to:    - 宛先メールアドレス
          from:  - 送信元メールアドレス
          subject: - 件名
          file:   - 添付ファイル名
          body:   - 本文
dirname   [in]  : 添付ファイルを保存するディレクトリ名を指定します。
           既定値は、MailBoxプロパティのattachサブディレクトリです。
           readmailoptパラメータの設定により、添付ファイルが保存されます。
           ファイル名は、MIMEで指定された名前で保存します。
           名前なしHTMLメールは、mail.htmとして保存します。
          第1パラメータにメールキューのディレクトリを指定した場合には、無視されます。

output [out] : メール内容を配列で返します。ヘッダー、本文、添付ファイル名の
           順番に設定されます。エラーが発生した場合は、配列を返しません。
           例:output(0) -> To: b21soft@hogehoge.com
               output(1) -> From: who@who.com
               output(2) -> Date: 1998/09/15 12:30:31
               output(3) -> .....
               output(4) -> Body: 本文
               output(5) -> File: ファイル名1
               output(6) -> File: ファイル名2

          メールキューのディレクトリを指定した場合には、メールファイルごとに
          ヘッダをCR+LF で区切った文字列を返します。
           例:output(0) メールファイル1の内容
               output(1) メールファイル2の内容


               output(5) -> File: ZIPファイル名1
               output(6) -> File+: 展開ファイル名1
               output(7) -> File+: 展開ファイル名2


解説
メールキューの内容を読み込む場合は、メール内容の配列内容が異なります。
送信エラーのメールキューを読み込むには次のようにします。
rc = bobj.ReadMail(bobj.MailQueue & "\err","fname:to:subject:")

JavaScript では、以下のように戻り値の配列を標準JavaScript配列に変換します。

var rc = bobj.ReadMail(.......);
var rc2 = (new VBArray(rc)).toArray();
var rc3 = rc2[0];


VBArrayオブジェクト(JavaScript)


toArray メソッド (VBArray) (JavaScript)

HTMLメールの場合、テキストのみ取り出すには、以下のようにMSHTMLのHTMLDocumentを使います。

Function htmlFilter(html)
  Dim htmlfile
  Set htmlfile = CreateObject("htmlfile")
  htmlfile.Write(html)
  htmlFilter = htmlfile.body.innerText
End Function


zipパラメータを指定すると
添付ファイルがZIPファイルの場合、ZIP展開できます。
ZIP処理は、バージョン1,0,1710,20以降でサポートされます。

展開後のファイル名は、"File+: " となります。
      output(5) -> File: ZIPファイル名1
      output(6) -> File+: 展開ファイル名1
      output(7) -> File+: 展開ファイル名2


使用例
outarray = bobj.ReadMail(file,"subject:from:date:")
If bobj.Result > 0 Then	' OK ?
    For Each data in outarray
      Response.Write Server.HTMLEncode(data)
    Next
End If

' ZIP展開
bobj.Env = "+zip=readmail" ' ZIP処理指定
bobj.Env = "+zipdir=c:\temp\zip" ' 展開先フォルダ
bobj.Env = "+zippass=パスワード!" ' パスワード
outarray = bobj.ReadMail(file,"subject:from:date:","c:\mailbox")


関連項目
RcvMailメソッド timebiasパラメータ SendMailメソッド FlushMailメソッド
mailqueueパラメータ MailQueueプロパティ readmailoptパラメータ

■ RepTagCharメソッド

HTML のタグ文字("<",">","&")をエスケープします。
outstr = bobj.RepTagChar(instr)
引数
instr  [in]  : エスケープしたい文字列。
outstr [out] : 結果の文字列。
          "&"  ---> "&"
          "<"  ---> "&lt;"
          ">"  ---> "&gt;"
解説
HTMLタグ文字列をエスケープして表示したいときに使います。
使用例
outstr = bobj.RepTagChar(instr)
関連項目

■ SecureFileメソッド

ファイルのメッセージダイジェストを記録してファイルの変更を検出します。
rc = bobj.SecureFile(mode,pfile)
引数
mode   [in]  : 実行モードを数字の和で指定します。
                0 - ファイルの変更の検査。
                1 - データベース作成。
                2 - 結果をメールで通知
pfile  [in]   : パラメータファイル。以下の形式のテキストファイルを指定します。
==================================== 
db=database-file              データベースを保存するファイル名
report=report file            検査結果を保存するファイル名
[newdb=new database-file]     検査時の保存データベースファイル名
[diff=diff-file]              検査時の保存diff ファイル名
[server=mail server]          メールサーバ名
[mailto=notify mail-address   宛先メールアドレス
[subject=mail-subject]        メール件名
[mailfrom=sender mail-address]  送信元メールアドレス
[attachfile=files]            添付ファイル名
[body=body]                   メール本文。複数行指定可能。
[-r ]dir1                     対象ディレクトリ名1
[-r ]dir2                     対象ディレクトリ名2
[-r ]dir3                     対象ディレクトリ名3
....
===================================
rc     [out] : 結果を次の数字で返します。
       データベース作成時は、対象となったディレクトリ数とファイル数の合計。
       検査時は違いを検出したディレクトリ数とファイル数の合計。
       マイナスの値の場合は、エラー番号を示します。
解説
セキュリティ用途にも使えますが
ディレクトリ内の追加されたファイルを検出する手段にも使えます。

メソッド内で SortFileメソッドとDiffメソッドを使います。
使用例
rc = bobj.SecureFile(0,"c:\test\p1.txt")
関連項目
MD5メソッド

■ SendMailメソッド

SMTPプロトコルでメールを送信します。
rc = bobj.SendMail(mailto,subj,body[,files])
引数
mailto [in]  : 宛先メールID。タブで区切って複数指定できます。
               cc/bcc/reply-toや任意のヘッダーもこの中にオプションで
               指定できます。
subj  [in]  : サブジェクト。""を指定すればサブジェクトなしで送信。
body  [in]  : 本文。""を指定すれば本文なしで送信。
files [in]  : 添付ファイル名をフルパスで指定。"ファイルパス|別名|Content-type|Content-ID"
              既定値は添付ファイルなし。
              タブで区切って複数指定できます。
rc    [out] : 結果を数値で返します。
            0 - メールキューにメールファイルが作成された。
            1 - SMTPサーバに送信された。
            0未満 - エラー番号。詳細はResultプロパティを参照。
解説
MailQueueプロパティが空の場合、SMTPサーバに送信します。
MailQueueプロパティでメールキュー指定の場合は、メールキューにメールファイルを作成します。
メールキューのメールファイルを送信するには FlushMailメソッドを使います。

メールキューのメールファイルを読込むには ReadMailメソッドを使います。

渡す漢字コードは SJISを使ってください。本文の改行には vbCrLf を使います。
半角カナは、全角カナに変換して送信します。

zipパラメータを指定すると
添付ファイルをZIP圧縮して送信できます。
フォルダを指定するとフォルダ全体を圧縮します。
ZIP処理は、バージョン1,0,1710,20以降でサポートされます。


使用例
subject = "テスト2"
mailto = "B21Soft""
body ="テスト2で" & vbcrlf  & "ございます。"  & vbcrlf
rc = bobj.SendMail(mailto,subject,body)

' ZIP送信
bobj.Env = "+zip=sendmail" ' ZIP指定
bobj.Env = "+zipdir=c:\temp\zip" ’ZIPファイル保存場所
bobj.Env = "+zippass=パスワード!" ' ZIPパスワード
files = "c:\dir1"
rc = bobj.SendMail(mailto,subject,body,files)


関連項目
Serverプロパティ MailQueueプロパティ FlushMailメソッド ReadMailメソッド
MailFromプロパティ MailOptionプロパティ mailqueueパラメータ mailoptionパラメータ
serverパラメータ zipパラメータ

■ Sleepメソッド

指定時間待機します。
rc = bobj.Sleep(sec)
引数
sec    [in]  : 待ち時間を秒単位で指定します。
rc     [out] : 戻り値を数値で返します。
               0  - 指定時間経過
               -2 - キャンセルされた
解説
Sleepメソッドで待機中のスレッドIDもCancelメソッドでキャンセルすることができます。
これを使うと他のスレッドの実行タイミングをコントロールできます。
使用例
rc = bobj.Sleep(60*60) ' 1時間待ち、またはキャンセル待ち
If rc = -2 Then ' キャンセル?
End If
関連項目
Monitorメソッド monitorパラメータ Cancelメソッド

■ Sortメソッド

配列データをソートします。
rarray = bobj.Sort(sarray,[opt,offset1,lengh1,offset2,length2])
引数
sarray  [in]  : ソートする配列。
opt     [in]  : オプション。次の数値を組合わせて指定します。
  1 : 降順ソート
  2 : 英大文字小文字を無視
  4 : 重複行の削除
  8 : キー重複行の削除
  16: カンマ区切り
  32: タブ区切り
  64: 最初の行を無視
offset1 [in]  : キー1位置のオフセット値(先頭は0)。
                カンマ、タブ区切りの場合は、キー位置(先頭は1)。
length1 [in]  : キー1の長さ。0を指定すると文字列すべて。
                カンマ、タブ区切りの場合は、最大キー長を指定。
offset2 [in]  : キー2位置のオフセット値(先頭は0)。
                カンマ、タブ区切りの場合は、キー位置(先頭は1)。
length2 [in]  : キー2の長さ。0を指定すると文字列すべて。
                カンマ、タブ区切りの場合は、最大キー長を指定。
rarray  [in]  : ソート結果の配列。
                Resultプロパティに配列要素数、
                またはエラー番号を設定します。
解説
キーは、2つまで指定可能。カンマ区切り、タブ区切りのフィールドキー指定できます。
使用例
Dim a(4)
a(0) = "900"
a(1) = "800"
a(2) = "700"
a(3) = "600"
a(4) = "500"
sarray = a
rarray = bobj.Sort(sarray)
関連項目
SortFileメソッド

■ SortFileメソッド

テキストファイルをソートします。
rc = bobj.SortFile(infile,outfile,[opt,offset1,lengh1,offset2,length2])
引数
infile  [in]  : ソートするファイル名。
outfile [in]  : ソート結果を書出すファイル名。
opt     [in]  : オプション。次の数値を組合わせて指定します。
  1 : 降順ソート
  2 : 英大文字小文字を無視
  4 : 重複行の削除
  8 : キー重複行の削除
  16: カンマ区切り
  32: タブ区切り
  64: 最初の行を無視
offset1 [in]  : キー1位置のオフセット値(先頭は0)。
                カンマ、タブ区切りの場合は、キー位置(先頭は1)。
length1 [in]  : キー1の長さ。0を指定すると文字列すべて。
                カンマ、タブ区切りの場合は、最大キー長を指定。
offset2 [in]  : キー2位置のオフセット値(先頭は0)。
                カンマ、タブ区切りの場合は、キー位置(先頭は1)。
length2 [in]  : キー2の長さ。0を指定すると文字列すべて。
                カンマ、タブ区切りの場合は、最大キー長を指定。
rc      [in]  : ソート結果の行数、負数の場合はエラー番号。
解説
キーは、2つまで指定可能。カンマ区切り、タブ区切りのフィールドキー指定できます。
使用例
rc = bobj.SortFile(infile,outfile)
関連項目
Sortメソッド

■ SortMailメソッド

RcvMailメソッドで受信済みのメールをディレクトリ単位でソート、選択、削除できます。
outArray = bobj.SortMail(dir,header[,option][,filter][,delete])
引数
dir    [in]  : RcvMailで受信したメールファイルの保存ディレクトリ名。
header [in]  : ソート対象のヘッダ名。ソートしない場合(選択や削除のみ)は、""。
               * で総称名が使えます。
               例:
               "From:"    - 送信元でソート
               "Date:"    - 送信日付でソート
               "Subject:" - 件名でソート
               "X-Mail*"  - X-Mailer または X-Mail-Agent ヘッダでソート。
option [in]  : ソートオプションを数字で指定。デフォルト値は、0。
               0 - 順ソート
               1 - 逆順ソート
               2 - 大文字小文字無視
filter [in]  : 選択オプション。デフォルトは、"" ですべて選択します。
               ヘッダ名 + 条件 + 文字列で指定します。
               ヘッダ名は、*: で総称指定できます。
               文字列は、大文字小文字を無視します。
               文字列を指定しないと、ヘッダが存在するしないで選択できます。
               本文("Body:")や添付ファイル("File:")も指定可能。
               条件: = 後続の文字列を含むものを選択
                      ! 後続の文字列を含まないものを選択
               例:
               "From:=b21soft"   - 送信元にb21soft を含むメール
               "To:!hoge"      - 宛先に hoge を含まないメール
               "Body:=b21soft"   - 本文に b21soft を含むメール
               "References:="  - References ヘッダを含むメール
               "References:!"  - References ヘッダを含まないメール
               "X-Mail*:=outlook"   - Microsoft OutLook で送信したメール
                                X-Mailer または X-Mail-Agent: ヘッダが該当します。
delete [in]  : 削除オプション。選択オプションと共に使います。デフォルトは、0。
               0 - 削除しません。
               1 - 選択条件に一致したものを削除します。
outarray [out]  : ソート(あるいは選択、削除)されたファイル名を配列で返します。
                  エラーや該当するメールファイルがないときは配列でなく
                  文字列が返ります。
                Resultプロパティに配列要素数、
                またはエラー番号を設定します。
解説
他のメーラで読込んだメールはソートできません。
ソート結果は、ファイル名を配列で返します。ファイル名にはパス名は含まれません。
使用例
dir = bobj.MailBox
outarray = bobj.SortMail(dir,"date:",1)  ' 最新日付の順にソート
' 古い日付の順にソート。Fromヘッダに hoge が含まれているメールのみ
outarray = bobj.SortMail(dir,"date:",0,"from:==hoge")
' Fromヘッダに hoge が含まれているメールのみ削除
outarray = bobj.SortMail(dir,"",0,"from:==hoge",1)
' 添付ファイルがあるメールのみ削除
outarray = bobj.SortMail(dir,"",0,"File:=",1)
' Beckyで送信されたメールのみ取出す
outarray = bobj.SortMail(dir,"",0,"X-Mailer:=becky")
関連項目
RcvMailメソッド MailBoxプロパティ

■ StrConvメソッド

Visual BasicのStrConv関数と同じ機能。VBScriptではサポートされていません。
outstr = bobj.StrConv(instr,type)
引数
outstr [out]   : 結果の文字列が返ります。
instr  [in]    : 変換したい文字列。
type   [in]    : 変換タイプを数値で指定。組み合せて指定できます。
1:英大文字に変換
2:英小文字に変換
3:単語の先頭を英大文字に変換
4:半角文字 (1 バイト) を全角文字 (2 バイト) に変換
8:全角文字 (2 バイト) を半角文字 (1 バイト) に変換
16:文字列内のひらがなをカタカナに変換
32:カタカナをひらがなに変換
解説
使用例
outstr = bobj.StrConv(instr,1)  ' 英大文字に
 outstr = bobj.StrConv(instr,2+4)  ' 英小文字かつ全角に
関連項目
HAN2ZENメソッド

■ UpLoadメソッド

指定したURLのFTPまたはHTTPサーバーにローカルファイルをアップロードします。 SSLによる暗号化の通信をサポートします。
rc = bobj.UpLoad(url,file[,opt])
引数
url  [in]   : URLを"http://" または "ftp://"で始まる文字で指定します。
              SSL を使って通信を暗号化する場合には "https://"を指定します。
file [in]   : アップロードするローカルファイル名、またはディレクトリ名を指定します。
opt  [in]   : オプションパラメータを次のように指定します。
              uploadoptパラメータが既定値です。
	-j Japanese-character-code : 文字コード変換
			sjis : SJIS
			euc  : EUC
			jis  : JIS
			ucs2 : UNICODE UCS-2
			utf8 : UNICODE UTF-8
	-t timeout    : タイムアウト値。省略値 120 
	-G size       : HTTP分割アップロード機能。分割サイズ(MB)
                        このオプションを使う場合はディレクトリ名指定の
                        アップロードはできません。
	-p proxy      : HTTP プロクシサーバ名
	-A user:pass  : HTTP "Authorization: Basic" ヘッダー  
	-P user:pass  : HTTP "Proxy-Authorization: Basic"  ヘッダー
	-h level      : HTTPヘッダーのみアクセス。
                  1: ログに保存  2: ファイルに保存  3: ファイルとログの両方
	-f "firewall-arg" : FTP ファイアーウォールパラメータ。
			"fhost fuser/fpass SITE"
			"fhost fuser/fpass"
			"fhost"
			"fhost OPEN"
	-F user:pass  : FTP ユーザとパスワード。 ":" で区切ります。
	-a            : FTP ASCII モード
	-s            : FTP PASV モード
	-c cookie     : HTTP クッキー指定。名前=値 の形式で。
	-x header     : HTTP ヘッダー。複数指定できます。
	-U param      : RFC1867 フィールドデータ。フィールド名"para"として送信します。
	-n "sslcertname" : SSLクライアント証明書の発行先名を指定します。

rc      [out]  : 終了コード。作成されたファイル数を返します。
                Resultプロパティでエラー番号を参照します。
解説
オプションは、uploadoptパラメータが既定値です。
HTTPとFTPプロトコルをサポートします。
HTTPモードの場合、RFC1867(Form-based File Upload in HTML)でファイルをアップロードします。
フィールドのタグ名(アップロードフォームのNAMEに相当)は、"xfile001" から "xfile999" 
までの連番になります。 
アップロードURLのスクリプトの拡張子が"php" または"php3"の場合は、
サーバサイドのスクリプトをPHP とみなし、ファイルのフィールド名を
"xfiles[]"(注:小文字)として送信します。 PHPでは変数名後の"[]" は、
配列として解釈します。 
アップロードできるファイルの最大サイズは2GB-1(2147483647)です。

HTTP分割アップロード機能(-Gオプション)を使うとアップロードできる
ファイルのサイズは、無制限となります。分割サイズ単位でPOSTしますので、
ファイルサイズを分割サイズで割った数だけURLで指定したサーバー・スクリプトを
起動します。
サーバーサイドでは、FormSaveAsメソッドの第4パラメータで追加モードを指定します。

HTTPモードの場合、encrtptパラメータを使うと暗号化して送信できます。


IIS配下の匿名アクセスでSSL指定のUpLoadメソッドを使う場合は、logonuserパラメータを使って
Admin権限を持つアカウントを偽装する必要があります。
匿名アクセスのIUSR_マシン名 アカウントのままでは UpLoadメソッドが-80 エラーで
失敗します。

IPv6で接続したい場合は、ipv6 パラメータ設定が必要です。
BASP21P.INI ファイルでの設定例:
ipv6=1

コードでの設定例:
bobj.Env = "+ipv6=1"

IPv6のIPアドレスは、半角の角括弧"[]"で囲んで指定します。

rc = bobj.UpLoad("http://[::1]:8080/test/fileup.asp","c:\temp\a.txt")


zipパラメータを指定すると
ファイルまたはフォルダ単位でZIPファイル送信できます。
ZIP処理は、バージョン1,0,1710,20以降でサポートされます。


使用例
1. ASPでファイルをアップロード
rc = bobj.UpLoad("http://basp21.com/test/fileup.asp","c:\temp\a.txt")
2. SSLを使ってファイルをアップロード
rc = bobj.UpLoad("https://basp21.com/test/fileup.asp","c:\temp\naisho.txt")
3. ftpでファイルをアップロード
rc = bobj.UpLoad(ftp://user:pass@basp21.com/dir/big.data","c:\temp\big.data")

4. ftpでファイルをアップロード ZIP圧縮
bobj.Env = "+zip=upload" ' ZIP指定
bobj.Env = "+zipdir=c:\temp\zip" ’ZIPファイル保存場所
bobj.Env = "+zippass=パスワード!" ' ZIPパスワード
rc = bobj.UpLoad(ftp://user:pass@basp21.com/dir/big.data","c:\temp\big.data")

関連項目
DownLoadメソッド uploadoptパラメータ FormSaveAsメソッド encrtptパラメータ zipパラメータ

■ CodePageプロパティ

文字コード変換時に使用するコードページを設定します。値の取得も可能です。
bobj.CodePage = codepage
引数
codepage  [in]  : 設定するコードページを数字で指定します。
解説
英語版2008 などで日本語が ????? などに変換される場合に使います。
使用例
bobj.CodePage = 932  ' 日本語
関連項目
Kconvメソッド KconvFileメソッド

■ Envプロパティ

BASP21 の環境を設定します。値の取得も可能です。
bobj.Env = environment | +para=value
引数
environment  [in]  : env名を文字列で指定します。
         "*" を指定するとユーザーのログオン名とみなされます。
         env[#version|url][:comment]
         version - #で区切ってBASP21P.INIファイルバージョン番号。
         url     - #で区切ってBASP21P.INIファイルのダウンロード先URL。
                   "http://" あるいは "ftp://"を指定してください。
                   version か url どちらかを指定します。
         comment - :で区切ってコメント。url を指定した場合は指定できません。

+para=value  [in]  : basp21p.iniのパラメータを動的に指定します。
                     iniファイルの内容は、変更しません。
         +para   - +の後にパラメータ名。以下のパラメータのみが指定可能です。
                   logfile/errorlogfile/mailoption2/compat/sslver/logallow/logdeny/ipv6
                   zip/zipdir/zippass/zipfilter/zipopt/source_ip/server2/max_thread
                   to-header/cc-header
         value     =に続いてパラメータの値。

解説
env名は、BASP21P.INI ファイルで定義してある文字を指定します。
Env プロパティでenv名を選択すると、サーバ名などのパラメータがファイルから
メモリ上に読込まれます。
ユーザごとの環境やテスト環境など 簡単にスクリプトで対応できます。

BASP21オブジェクトの作成時には"global" という env 名で初期化されます。

以前の環境の設定項目は引き継がれます。引き継ぎたくない場合は、次のようにします。bobj.Env = ""
bobj.Env = "iis10"

カレントなユーザのログオン名を指定するには、"*" を指定します。
bobj.Env = "*"


バージョン番号を指定するとinifileversionパラメータの番号と比較して
Envプロパティでのバージョン番号が大きい場合に、inifileurlパラメータのURLから
BASP21P.INIファイルがダウンロードされます。

指定した URL からBASP21P.INIファイルを無条件にダウンロードすることもできます。
bobj.Env = "ie5#http://your.server/basp21p/basp21p.ini"

コメントを指定するとログファイルにその文字列も記録されます。クライアント情報を
ログファイルに残す場合などに使います。ReadLogメソッドで検索文字として使うと便利。
bobj.Env = "IIS5:" & Request.ServerVariables("REMOTE_ADDR")

IE などのクライアントサイドではOBJECTタグ内でEnvプロパティを初期化できます。
OBJECTタグ内で初期化できるのは Env プロパティのみです。
<OBJECT ID="Basp21p" CLASSID="CLSID:EC0C18A0-4D5E-11D4-896C-00000E4E0AD6">
    <PARAM NAME="Env" VALUE="ie5:comment">
</OBJECT>


Envプロパティで実行時にダイナミックにパラメータを指定可能です。

bobj.Env = "+logfile=c:\temp\log.txt"
bobj.Env = "+errorlogfile=c:\temp\elog.txt"
バージョン 1,0,1308,7以降で有効な機能です。

bobj.Env="+mailoption2=savenew=only"
バージョン 1,0,1403,15 以降でサポートされます。

bobj.env="+compat=readdir=empty"
バージョン1,0,1501,26 以降でサポートされます。

bobj.env="+sslver=n"
バージョン1,0,1506,3 以降でサポートされます。

bobj.env="+ipv6=n"
バージョン1,0,1705,9 以降でサポートされます。


使用例
  ' aspファイル名をコメントとして設定
bobj.Env = "IIS5:" & Request.ServerVariables("PATH_INFO")
  ' 時間をコメントとして設定
bobj.Env = "IIS5:" & Now()
  ' カレントユーザ名として設定
bobj.Env = "*:" & Now()
関連項目
BASP21P.INI

■ FireEventプロパティ

イベントを実行するかどうか数字で指定します。値の取得も可能です。
bobj.FireEvent = event
引数
event  [in]  : 0 - イベントを実行しません。
               1 - イベントを実行します。
解説
既定値は、fireeventパラメータです。
イベントはパフォーマンスに影響しますので、適切に使う必要があります。

使用例
bobj.FireEvent = 1
関連項目
OnProgressイベント OnLogイベント Monitorメソッド fireeventパラメータ

■ Homeプロパティ

ディレクトリ名など環境に固有の情報を取得するときに使います。値の設定も可能です。
bobj.Home = homestr
引数
homestr  [in]  : 任意の文字列。最大1024バイトまでの文字列。
解説
env名に対応する情報をアクセスする手段に使います。

既定値は、homeパラメータです。
カンマなどで複数の値を設定しておくと便利です
home=c:\dir\user1,user1,user1pass

使用例
para = Split(bobj.Home,",")    ' "," で区切ってある情報を分解して取り出します。
関連項目
homeパラメータ

■ IsErrorプロパティ

メソッド実行結果の参照。
ng = bobj.IsError
引数
ng  [out]  : メソッドの実行結果がエラーなら -1 、それ以外は 0 を返します。
解説
Resultプロパティはエラー番号を返しますが、IsErrorプロパティは、エラーかどうか判定するために
使います。
使用例
If bobj.IsError Then
   bobj.Debug bobj.LastMsg
End If
関連項目
Resultプロパティ LastMsgプロパティ

■ LastMsgプロパティ

メソッド実行結果のエラーメッセージの参照。
msg = bobj.LastMsg
引数
msg  [out]  : エラーメッセージ。512バイトまでの文字列。
解説
Resultプロパティはエラー番号を返しますが、LastMsgプロパティは、詳細なエラーメッセージを
返します。エラーメッセージは、ログレコード形式です。
使用例
If bobj.IsError Then
   bobj.Debug bobj.LastMsg
End If
関連項目
Resultプロパティ IsErrorプロパティ

■ MailBoxプロパティ

RcvMailメソッドで受信したメールを保存するディレクトリ名。
bobj.MailBox = mailbox
引数
mailbox  [in]  : ディレクトリ名。256バイトまでの文字列。
解説
RcvMailメソッドで使われるディレクトリ名の既定値です。
既定値は、mailboxパラメータです。
使用例
bobj.MailBox = "c:\maildir1"
関連項目
RcvMailメソッド mailboxパラメータ

■ MailFromプロパティ

送信元メールアドレスを取得するときに使います。値の設定も可能です。
bobj.MailFrom = mailfrom
引数
mailfrom  [in]  : メールアドレス[,ユーザ名:パスワード][,認証形式]
メールアドレス:128バイトまでのメールアドレス。
ユーザ名とパスワード:SMTP AUTH認証ユーザ名とパスワード。
XOAUTH2とOAUTHBEARER の認証形式を使う場合は、パスワードにその値を指定します。
解説
SendMail/SecureFileメソッドで使われるメールアドレスを設定します。
SMTP AUTH機能を使うには、送信元メールアドレスの後に"," で区切って
ユーザ名 + ":" + パスワードを指定します。

認証タイプ指定方法
AUTH PLAINユーザ名:パスワード
AUTH LOGINユーザ名:パスワード,LOGIN
AUTH CRAM-MD5ユーザ名:パスワード,CRAM-MD5
AUTH XOAUTH2ユーザ名:XOAUTH2
AUTH OAUTHBEARERユーザ名:OAUTHBEARER
既定値は、basp21p.ini ファイルのmailfromパラメータです。 使用例 bobj.MailFrom = "hoge@hoge.com" .... 認証なし bobj.MailFrom = "hoge@hoge.com,user1:pass1" .... AUTH PLAIN bobj.MailFrom = "hoge@hoge.com,user1:pass1,LOGIN" .... AUTH LOGIN bobj.MailFrom = "hoge@hoge.com,user1:pass1,CRAM-MD5" ... AUTH CRAM-MD5 bobj.MailFrom = "hoge@hoge.com,user1:XOAUTH2" ... AUTH XOAUTH2 (Office365) bobj.MailFrom = "hoge@hoge.com,user1:OAUTHBEARER" ... OAUTHBEARER (Gmail) 関連項目 SendMailメソッド FlushMailメソッド mailfromパラメータ Gmail SMTP/POP3 OAuth2認証サポート Office365 SMTP/POP3 OAuth2認証サポート

■ MailOptionプロパティ

メール送信時のオプションを参照するときに使います。値の設定も可能です。
bobj.MailOption = mailoption
引数
mailoption  [in]  : メールオプション。1024バイトまでの文字列。
解説
SendMail/SecureFileメソッドで使われるメールオプションを設定します。
メールオプションは、"," で区切って複数指定できます。
既定値は、mailoptionパラメータです。
mailoption=>Reply-To: 馬場<hoge@hoge.com>,cc,馬場1<hoge1@hoge.com>,馬場2<hoge2@hoge.com>

使用例
bobj.MailOption = ">Reply-To: 馬場<hoge@hoge.com>"
関連項目
SendMailメソッド FlushMailメソッド mailoptionパラメータ

■ MailQueueプロパティ

SendMailメソッドでメールファイルを作成するディレクトリを指定します。 値の設定も可能です。
bobj.MailQueue = dir
引数
dir  [in]  : ディレクトリ名。256バイトまでの文字列。
解説
MailQueueプロパティの値が SendMail/FlushMailで参照されます。
既定値は、mailqueueパラメータです。
使用例
bobj.MailQueue = "c:\tempmail"
関連項目
SendMailメソッド FlushMailメソッド mailqueueパラメータ

■ PopServerプロパティ

メール受信時のPOP3サーバ名を参照するときに使います。値の設定も可能です。
bobj.PopServer = server
引数
server  [in]  : [SSL ]POP3サーバ名またはIPアドレス。64バイトまでの文字列。
                サーバ名[:port:timeout]
                IPv4アドレス[:port:timeout]
                IPv6アドレス[:port:timeout]
解説
RcvMailメソッドで使われるPOP3サーバ名を設定します。
ポート番号と通信タイムアウト値(秒単位)を指定可能です。

SSL暗号通信は、POP3サーバ名の前に"SSL "をつけてSTLSコマンド方式を使うか、
POP3Sポート番号995を指定する方法のいずれかを選択できます。

IPv6で接続したい場合は、ipv6 パラメータ設定が必要です。
BASP21P.INI ファイルでの設定例:
ipv6=1

コードでの設定例:
bobj.Env = "+ipv6=1"


IPv6のIPアドレスは、半角の角括弧"[]"で囲んで指定します。
この場合は、ipv6パラメータの設定は不要です。
例 [2001::34]

IPv6のIPアドレスとポート番号、タイムアウトの指定例:
bobj.PopServer = "[2001:0DB8::7142]:995:60"

IPv6接続は、バージョン 1,0,1705,9以降でサポートされます。


既定値は、popserverパラメータです。
使用例
bobj.PopServer = "pop-server"
bobj.PopServer = "SSL 192.168.1.100"
bobj.PopServer = "192.168.1.100:995"
bobj.PopServer = "[2001:0DB8::7142]:995"
関連項目
RcvMailメソッド popserverパラメータ ipv6パラメータ

■ Resultプロパティ

メソッド実行結果を参照します。
bobj.Result
引数
なし。
解説
メソッドの実行結果を数字で返します。マイナスの値は、エラー番号です。
メソッドやプロパティの実行で以前の値は上書きされます。

エラーの詳細は、ログファイルに書き込まれます。

使用例
rc = bobj.Result
If rc < 0 Then
   MsgBox "エラーです" & rc
End If
関連項目
Trapプロパティ trapパラメータ logfileパラメータ メッセージ ログレコード

■ Serverプロパティ

メール送信時のSMTPサーバ名を参照するときに使います。値の設定も可能です。
bobj.Server = server
引数
server  [in]  : [ドメイン名/]SMTPサーバ名またはIPアドレス[:port:タイムアウト値(秒)]。
                64バイトまでの文字列。
解説
FlushMail/SendMailメソッドで使われるSMTPサーバ名設定します。
ポート番号と通信タイムアウト値(秒単位)を指定可能です。

ドメイン名を指定するとDNS逆引きをしないので高速です。

SSL暗号化通信は、SMTPサーバ名の前に"SSL "をつけてSTARTTLSコマンドを使う方式か、
SMTPSポート番号465を指定する方法を選択できます。

IPv6で接続したい場合は、ipv6 パラメータ設定が必要です。
BASP21P.INI ファイルでの設定例:
ipv6=1

コードでの設定例:
bobj.Env = "+ipv6=1"

IPv6のIPアドレスは、半角の角括弧"[]"で囲んで指定します。
この場合は、ipv6パラメータの設定は不要です。
例 [2001::34]

IPv6のIPアドレスとポート番号、タイムアウトの指定例:
bobj.Server = "[2001:0DB8::7142]:587:60"

IPv6接続は、バージョン 1,0,1705,9以降でサポートされます。



既定値は、serverパラメータです。
使用例
bobj.Server = "smtp-server"
bobj.Server = "SSL 192.168.1.100"
bobj.Server = "192.168.1.100:465"
bobj.Server = "[2001:0DB8::7142]:995"
関連項目
serverパラメータ SendMailメソッド FlushMailメソッド  ipv6パラメータ

■ ShowDialogプロパティ

進捗ダイアログを表示します。
bobj.ShowDialog = pos
引数
pos  [in]  : ダイアログの表示位置を数字で指定。
           既定値は、showdialogパラメータの値です。
           0 - 表示しない。
           1 - 左上
           2 - 右上
           3 - 中央
           4 - 左下
           5 - 右下
解説
ダイアログは、メソッドの実行開始時に表示します。サーバサイドスクリプトでは使えません。
IE やVB/VBA/WSH などのクライアント側のBASP21オブジェクトで使います。
ダイアログは、次のように表示されます。


ダイアログの説明:
ウインドウタイトルは、進捗率、およびメソッド名とロゴ名です。
ロゴ名[BASP21 Pro]は、既定値です。ロゴ名はlogoパラメータで変更できます。

ダイアログの[キャンセル]ボタンでメソッドの実行をキャンセル可能です。
ウインドウを閉じた場合もメソッドがキャンセルされます。

ダイアログが表示されるのは、以下のメソッドを実行する場合のみです。
Bsendm/Diff/DownLoad/FlushMail/RcvMail/SecureFile/SortFile/UpLoad

推定残り時間は、目安です。正確な時間を示すものではありません。

既定値は、showdialogパラメータです。
BASP21P.INI ファイルでの設定例:
[ie5]
showdialog=1
logo=Great !!! BASP21 Pro

使用例
bobj.ShowDialog = 3  ' 中央に表示
rc = bobj.DownLoad("http://www.hoge.com/bnewslog.lzh",_
                          "c:\test\log.lzh","-r c:\test\resume")
関連項目
showdialogパラメータ Cancelメソッド

■ Trapプロパティ

メソッド実行中のエラー発生時の例外処理を指示します。値の参照も可能です。
bobj.Trap = trap
引数
trap  [in]  : 数字で指定。
            既定値は、trapパラメータの値です。
            0 - エラー発生時に中断しない。
            1 - エラー発生時に中断。
解説
エラー発生とは、IsError プロパティが0以外の値を返すことです。
メソッドのエラー時にすぐスクリプトの実行を中断したいときに便利です。
使用例
bobj.Trap = 1  ' エラー時に中断
関連項目
trapパラメータ Cancelメソッド

■ Versionプロパティ

BASP21 Proのバージョンを返します。
ver = bobj.Version
引数
なし。
解説
他にライセンス番号、BASP21P.INIファイルのバージョン番号、OSの種類を返します。
動作環境 32bit/64bit/32bit WOW64 も返します。
使用例
MsgBox bobj.Version
関連項目
inifileversionパラメータ licenseパラメータ

■ OnLogイベント

ログ書出しのタイミングで発生します。
Sub bobj.OnLog(logdata)
End Sub
引数
logdata  [in] : ログデータ。
解説
FireEventプロパティが 1 の場合に発生します。
イベント内でイベントを発生させる BASP21 メソッドを呼出すことはできません。
使用例
' VBScriptの例
Sub bobj_OnLog(logdata)
   bobj.Debug logdata
End Sub

' Visual Basicの例
Option Explicit
Dim WithEvents bobj As basp21p
Private Sub bobj_OnLog(ByVal strlog As String)
   Debug.Print strlog
End Sub
Private Sub Form_Load()
 Set bobj = New basp21p
 Debug.Print bobj.Version
End Sub
関連項目
FireEventプロパティ fireeventパラメータ

■ OnProgressイベント

メソッドの進行状態が変化したときに発生します。
Sub bobj.OProgress(data,total,current)
End Sub
引数
data     [in] : 進捗データ。
total    [in] : ターゲット値。
current  [in] : 現在の数値。
解説
FireEventプロパティが 1 の場合に発生します。
進捗ダイアログに表示する文字列が渡されます。各文字列はCR+LF で区切られます。
ウインドウタイトル CR+LF [ShowDialogでダイアログ表示時のみ]
1行目 CR+LF
2行目 CR+LF
3行目

イベント内でイベントを発生させる BASP21 Proメソッドを呼出すことはできません。
使用例
' VBScriptの例
Sub bobj_OnProgress(data,total,current)
   bobj.Debug data
End Sub

' Visual Basicの例
Option Explicit
Dim WithEvents bobj As basp21p
Private Sub bobj_OnProgress(ByVal strmsg As String, ByVal total As Long, _
 ByVal current As Long)
  Debug.Print strmsg
End Sub
Private Sub Form_Load()
 Set bobj = New basp21p
 Debug.Print bobj.Version
End Sub
関連項目
FireEventプロパティ fireeventパラメータ

■ BASP21P.INI ファイル

BASP21P.INI ファイルは、BASP21 Proのメソッドの環境を定義するファイルです。 BASP21 Proをインストールするディレクトリに作成します。 このファイルがないと BASP21 Pro は動作しません。
[ ]内の文字が env 名になり次に現れる[ ]の行までの定義が有効です。
BASP21 Proオブジェクトの初期化時にはglobal env 名が最初に選択されます。 細かい設定をするには env 名を増やして使い分けます。 先頭文字が "#" または ";"の行はコメントとして無視されます。
[global] env名
license=your-license
inifileversion=20010201
logfile=c:\test\log.txt
# コメント  
allow=env
[iis5] env名
# iis5 env のパラメータ
deny=showdialog,fireevent
........
[ie5] env名
# ie5 env のパラメータ
deny=execute
........
Env プロパティでenv名を選択すると、パラメータがファイルからメモリ上に 読込まれます。 さまざまな環境を簡単に切替えることでスクリプトがシンプルになります。

env名の切替え時には、新しいenv名に定義情報がない項目は、前の設定情報が引き継がれます。 global env 内に共通の定義を書いておくといいでしょう。 セキュリティのため global env 内では 実行を許可するメソッドやプロパティは、 極力制限するようにしてください。

IE などのクライアントサイドではOBJECTタグ内でEnvプロパティを初期化できます。 OBJECTタグ内で初期化できるのは Env プロパティのみです。

<OBJECT ID="Basp21p" CLASSID="CLSID:EC0C18A0-4D5E-11D4-896C-00000E4E0AD6">
    <PARAM NAME="Env" VALUE="ie5:comment">
</OBJECT>
Envプロパティの指定で、env名 + "#" + BASP21P.INI のURLと指定すると、 BASP21P.INI ファイルを実行時にダウンロードできます。
<OBJECT ID="Basp21p" CLASSID="CLSID:EC0C18A0-4D5E-11D4-896C-00000E4E0AD6">
    <PARAM NAME="Env" VALUE="ie5#http://your.server/basp21p/basp21p.ini">
</OBJECT>

■ allowパラメータ
実行を許可するメソッド、プロパティを指定します。
allow=メソッド、プロパティの並び
解説
実行を許可するメソッド/プロパティ名をカンマで区切って指定します
denyパラメータと同時には指定できません。指定するメソッド名の羅列が
少なくなるように どちらかを選択して指定します。
使用例
[global]
allow=env
関連項目
denyパラメータ

■ anonymouspassパラメータ
FTP Anonymousパスワード。
anonymouspass=メールアドレス
解説
DownLoadメソッドで使うユーザ名パスワードを指定しない場合に使われるパスワード。
使用例
[global]
anonymouspass=hoge@hoge.com
関連項目
DownLoadメソッド

■ authuserpassパラメータ
認証が必要なHTTPページにアクセスするときに送信するユーザ名とパスワード。
authuserpass=ユーザ名:パスワード
解説
ユーザ名とパスワードを":" で区切って指定します。
このパラメータを指定するとAuthorization: Basic ヘッダを送信します。
使用例
authuserpass=user1:pass1
関連項目
DownLoadメソッド UpLoadメソッド

■ automakedirパラメータ
関連するフォルダを自動作成するかどうか指定します。
automakedir=0|1
解説
既定値は、0 で作成しません。
BASP21P.INIのパラメータに指定されている以下のフォルダを自動的に作成します。
Home
MailBox
MailBox\attach
MailQueue
MailQueue\sent
MailQueue\err
Monitor
使用例
automakedir=1
関連項目

■ cc-headerパラメータ
SendMailメソッドでメール送信するときに、Ccヘッダーを任意な値に変更します。
cc-header=Ccヘッダ内容
解説
Ccヘッダーを任意な値に変更したいときに使用します。
メールアドレスを複数指定するときは、","で区切ります。
メールアドレスの妥当性チェックはしません。
指定できる最大バイト数は、2048バイトです。

Envプロパティで動的に指定可能です。
bobj.env="+cc-header=xxxxxxx"

cc-headerパラメータは、バージョン1,0,2012,4以降でサポートされます。


使用例
cc-header=大阪太郎<xxx@xxx>,大阪次郎<xxx@xxx>
関連項目
to-headerパラメータ

■ client_idパラメータ
OAUth2 のクライアントID。
client_id=クライアントID
解説
OAuth2認証のクライアントIDを指定します。
使用例
client_id=a78fgj956....
関連項目
client_secretパラメータ

■ client_secretパラメータ
OAUth2 のクライアントシークレット。
client_secret=クライアントシークレッド
解説
OAuth2認証のクライアントシークレットを指定します。
使用例
client_secret=T567a78fgj956....
関連項目
client_idパラメータ

■ compatパラメータ
フリー版との互換モードを指定。
compat=互換パラメータ
readdir=empty
解説
・readdir=empty
ReadDirメソッドで該当ファイルなしの場合も配列で返す。
バージョン1,0,1501,26 以降でサポートされます。

使用例
compat=readdir=empty
関連項目
ReadDirメソッド

■ codepageパラメータ
CodePageプロパティの既定値。
codepage=コードページ番号
解説
英語版Windows で日本語を処理するときに明示的に指定しないと文字が ???? などに
変更される場合があります。
使用例
codepage=932
関連項目
CodePageプロパティ

■ denyパラメータ
実行を許可しないメソッド、プロパティを指定します。
deny=メソッド、プロパティの並び
解説
実行を許可しないメソッド/プロパティ名をカンマで区切って指定します
allowパラメータと同時には指定できません。指定するメソッド名の羅列が
少なくなるように どちらかを選択して指定します。
使用例
[global]
deny=execute,showdialog,fireevent
関連項目
allowパラメータ

■ downloadoptパラメータ
DownLoadメソッドのオプションの既定値。
downloadopt=オプションの並び
解説
DownLoadメソッドの引数のオプションに追加されて使われます。
使用例
[global]
downloadopt=-r c:\temp\up
関連項目
DownLoadメソッド

■ encryptパラメータ
暗号化キーワード。
encrypt=キーワード文字列
解説
UpLoadメソッドで送信するデータ内容を暗号化することができます。
暗号化するときに使うキーワードを64バイトまでの文字列で指定します。
UpLoadメソッドおよびRFC1867関連メソッド(Form/FormBinary/FormFileName/FormFileSize/FormSaveAs)
実行時に参照します。
UpLoadメソッドでencryptパラメータを指定した場合は、RFC1867関連メソッド使用時に
同じキーワードのencryptパラメータを使う必要があります。
使用例
encrypt=ないしょのファイル
関連項目
UpLoadメソッド Formメソッド FormBinaryメソッド FormFileNameメソッド FormFileSizeメソッド
FormSaveAsメソッド

■ errorlogfileパラメータ
エラー時のログを記録するファイル名。
errorlogfile=ファイル名
解説
エラーのみの参照に便利です。logfileのみの場合、ログの行数が多くなリ参照が困難なとき使います。
使用例
errorlogfile=c:\basp21p\errlog.txt
関連項目
errorlogrotateパラメータ

■ errorlogrotateパラメータ
エラー時のログを記録するファイルを切替えるローティトサイズ。
errorlogrotate=ファイルサイズ。単位はKB。
解説
指定サイズに達したときに、ファイルを新規作成します。
ファイルサイズが大きくなると参照や書き込み時のパフォーマンスが悪くなるので
指定しましょう。

古いログファイル名は、末尾に"nnnn.txt" (nnnn は連番) がついて保存されます。 
使用例
# 1MB でログファイルを切り替えます。
errorlogrotate=1024
関連項目
errorlogパラメータ

■ fileshareパラメータ
BASP21 オブジェクトで作成するディレクトリやファイルに他のアカウントからアクセス権を 与えます。ファイルシステムがNTFS の場合のみ有効です。
fireshare=0または 1
          0 - BASP21 オブジェクトが走行するプロセスの既定のアクセス権。既定値。
          1 - Everyoneグループにフルコントロール権
解説
IIS環境でNTFSファイルシステムにBASP21 が作成するファイルは、IUSR_コンピュータ名
アカウントが所有者となります。
fileshare=1を指定しない場合、他アカウントからのアクセスが制限される場合があります。
fileshare=1 を指定すると、Everyoneグループにフルコントロール権を設定します。
テスト時に他のアカウントからファイルをフルにアクセスしたい場合には
fileshare=1 を指定します。

NTFSファイルシステムのドライブのみ有効です。
使用例
fileshare=1
関連項目
makedirパラメータ

■ fireeventパラメータ
FireEventプロパティの既定値。
fireevent=0または 1
解説
イベントを多用する場合に設定します。
使用例
fireevent=1
関連項目
FireEventプロパティ

■ ftpascextパラメータ
FTPモードでのUpLoadメソッドで ASCIIモードでアップロードするファイルの拡張子。
ftpascext= ";" で区切った拡張子の並び
解説
80バイトまでの文字列。
DownLoadメソッドでのASCIIモードは、-a オプションで指定します。
使用例
ftpascext=txt;html;htm
関連項目
UpLoadメソッド

■ ftpfirewallパラメータ
FTPモードでのUpLoad/DownLoadメソッドで使うファイアーウォールパラメータ。
ftpfirewall=ファイアーウォールパラメータ
解説
以下のいずれかの形式で指定します。
"fhost fuser/fpass SITE"
"fhost fuser/fpass"
"fhost"
"fhost OPEN"
使用例
ftpfirewall=192.168.1.100 user1/pass1
関連項目
UpLoadメソッド DownLoadメソッド

■ ftpuserpassパラメータ
FTPモードでのUpLoad/DownLoadメソッドで使うアカウントのユーザ名とパスワード。
ftpuserpass=ユーザ名:パスワード
解説
使用例
ftpuserpass=user1:pass1
関連項目
UpLoadメソッド DownLoadメソッド

■ homeパラメータ
Homeプロパティで取得する任意の文字列。
home=ユーザ名:パスワード
解説
最大1024バイトまでの文字数を指定できます。
通常、ディレクトリ名を指定します。

次のパラメータで先頭に "." ピリオドを指定した場合、homeパラメータの内容に
置き換えます。
mailbox
mailqueue
monitor

例:
home=d:\env1
mailbox=.\mailbox
mailqueue=.\mailqueue
monitor=.\mon

複数の情報を定義したいときはカンマやタブなどで区切ってSplit などで分解します。
para = Split(bobj.Home,",")
使用例
home=c:\dir1\user1,user1,pass1
関連項目
Homeプロパティ

■ inifileurlパラメータ
BASP21P.INIファイルをダウンロードするURL。256バイトまでの文字列。
infileurl=http://198.1.1.200/basp21p/basp21p.ini
解説
BASP21P.INI ファイルをバージョン番号の比較により自動的にダウンロードするときに使われます。
使用例
[global]
infileurl=http://198.1.1.200/basp21p/basp21p.ini
infileversion=20010301
関連項目
Envプロパティ inifileversionパラメータ

■ inifileversionパラメータ
BASP21P.INIファイルのバージョン番号。9桁までの数字を指定。
infileversion=20010301
解説
BASP21P.INI ファイルを自動ダウンロードするときに現在のBASP21P.INIファイルの
バージョンを確認するために使われます。

inifileversionバージョン番号よりenvプロパティの#versionで指定した番号が大きいときに
inifileurlパラメータで指定したURLからダウンロードが実行されます。
bobj.Env = "ie5#20010301:comment"

Versionプロパティは、BASP21P.INIファイルのバージョン番号も返します。
使用例
[global]
infileurl=http://198.1.1.200/basp21p/basp21p.ini
infileversion=20010301
関連項目
Envプロパティ inifileurlパラメータ Versionプロパティ

■ ipv6パラメータ
TCP/IP 接続時に IPv6 で接続する。0,1,2数字を指定。
ipv6= 0 | 1 | 2
          0 - IPv4 のみで接続する。既定値。
          1 - IPv6 のみで接続を試みる。
          2 - 最初にIPv6 で接続を試みる。失敗したら IPv4 で接続する。

解説
IPv6接続の場合、getaddrinfo()でIPv6アドレスを取得します。
サーバー名に名前ではなく、直接IPv6アドレスで指定した場合は、
ipv6パラメータは無視されて IPv6 で接続します。

コードでダイナミックに指定もできます。
bobj.Env = "+ipv6=1"

ipv6パラメータは、バージョン 1,0,1705,9以降でサポートされます。

使用例
[global]
ipv6=1
関連項目
Envプロパティ Serverプロパティ  PopServerプロパティ

■ licenseパラメータ
BASP21 Proライセンス番号。
license=ライセンス番号
解説
適切なライセンス番号を指定します。
使用例
license=S20010205AS
関連項目

■ logcsvパラメータ
ログのCSV形式。
logcsv=0/1/2 のいずれかの数字
解説
0 - ブランク区切り
1 - カンマ区切り
2 - タブ区切り
使用例
logcsv=1
関連項目
ReadLogメソッド PutLogメソッド ログレコード

■ loglevelパラメータ
ログの書出しレベル。
loglevel=0/1/2/3 のいずれかの数字
解説
以下の機能の数字の和を指定します。
0 - 標準。すべてのログエントリ(既定値)。
1 - begin/end エントリのみ。
2 - メモ帳ウインドウにログを書出す。
使用例
loglevel=1
loglevel=2
loglevel=3
関連項目
ReadLogメソッド PutLogメソッド ログレコード

■ logfileパラメータ
ログを記録するファイル名。
logfile=ファイル名
解説
ログファイルは、メソッドの実行結果、メソッドの実行時間などの情報が
細かく保存されるファイルです。
スクリプトのデバッグ時だけでなく、運用時のパフォーマンスデータとしても大切なものです。

どうも動作がおかしい場合は、ログファイルを参照して調べるようにしましょう。
ReadLogメソッドでログレコードを簡単に参照可能です。

ログは、以下の形式です。メソッドの実行時間も記録されます。
2001/01/14 21:41:24.688 984 b21soft DownLoad begin [IUSR_MACHINE]
2001/01/14 21:41:24.708 984 b21soft DownLoad TCP/IP connecting... 192.168.1.1:8080
2001/01/14 21:41:24.888 984 b21soft DownLoad HTTP > GET http://.............
2001/01/14 21:41:24.948 984 b21soft DownLoad HTTP < HTTP/1.0 200 OK
2001/01/14 21:41:24.958 984 b21soft DownLoad HTTP < Content-Length: 2494799
2001/01/14 21:41:29.154 984 b21soft DownLoad result file c:\test\log.lzh (2494799 bytes)
2001/01/14 21:41:29.325 984 b21soft DownLoad end 1  (4637msec)

大量にログを書き込むメソッド(FlushMail/Bsendm/SecureFile)を実行する場合は、
env名ごとにログファイルを変更して使うといいでしょう。

Envプロパティで実行時にダイナミックにログファイルを実行可能です。
バージョン 1,0,1308,7以降で有効な機能です。
bobj.Env = "+logfile=c:\temp\log.txt"

使用例
[global]
logfile=c:\basp21p\log.txt
[biglogenv]
logfile=c:\basp21p\big\log.txt
関連項目
logrotateパラメータ ReadLogメソッド ログレコード Resultプロパティ

■ logrotateパラメータ
ログを記録するファイルを切替えるローティトサイズ。
logrotate=ファイルサイズ。単位はKB。
解説
指定サイズに達したときに、ファイルを新規作成します。
ファイルサイズが大きくなると参照や書き込み時のパフォーマンスが悪くなるので
指定しましょう。

古いログファイル名は、末尾に"nnnn.txt" (nnnn は連番) がついて保存されます。 
使用例
# 2MB でログファイルを切り替えます。
logrotate=2048
関連項目
logfiileパラメータ

■ logoパラメータ
ShowDialogプロパティで表示する進捗ダイアログのウインドウタイトル文字。
logo=タイトル文字。32バイトまで。
解説
アプリケーションによって使い分けるとスマート。
使用例
logo=THNX !!! BASP21 Pro
関連項目
ShowDialogプロパティ

■ logonuserパラメータ
IISでアカウントを偽装(impersonate)するアカウントのユーザ名とパスワード。
logonuser=ユーザ名:パスワード。64バイトまで。
解説
IISでは匿名アクセスの場合、IUSR_マシン名 アカウントを偽装しています。
IUSR_マシン名 アカウントで、資源のアクセスが権限不足で失敗するときに使います。

IIS配下で SSL(https)を使うDownLoad/UpLoadメソッドを使う場合は、
Admin権限のアカウントを設定してください。
IUSR_マシン名 アカウントのままでは メソッドが-80 エラーで失敗します。
ASPプロセスは、インプロセスで実行してください。

一度設定されたアカウント偽装は、BASP21 Proオブジェクトが消滅するまで続きます。
bobj.Env = "env1"    ' ...... 偽装の開始
...............
Set bobj = Nothing   ' ...... 偽装の終了

使用例
logonuser=user1:pass1
関連項目

■ makedirパラメータ
ディレクトリ作成の指示。
makedir=dir1[,dir2,dir3,....]
作成するディレクトリ名をカンマで区切って指定します。
解説
BASP21 Proオブジェクト動作時に指定したディレクトリを作成します。
BASP21 Proのセキュリティコンテキストの権限で作成します。
共有したい場合は、ファイルの共有パラメータ(fileshare=1 )を指定します。

次のパラメータで指定されたディレクトリは、makedirパラメータに関係なく作成します。
home
mailbox と attachサブディレクトリ
mailqueue と sentサブディレクトリ、errサブディレクトリ
monitor
使用例
makedir=c:\temp1,d:\temp1
関連項目
fileshareパラメータ

■ mailboxパラメータ
MailBoxプロパティの既定値。
mailbox=ディレクトリ名
解説
RcvMailで受信したメールを保存するディレクトリを指定。
homeパラメータの相対パスを指定するには、先頭に "." をつけます。
mailbox=.\mailbox

指定したディレクトリが存在しない場合は、BASP21 Proが作成します。
使用例
mailbox=c:\env1\mailbox1
関連項目
RcvMailメソッド MailBoxプロパティ

■ mailfromパラメータ
MailFromプロパティの既定値。
mailfrom=送信元メールアドレス。
解説
SMTP AUTH機能を使うには、送信元メールアドレスの後に"," で区切って
ユーザ名 + ":" + パスワードを指定します。
128バイトまで指定できます。
使用例
mailfrom=馬場<hoge@hoge.com>
mailfrom=馬場<hoge@hoge.com>,user1:pass1
関連項目
MailFromプロパティ SendMailメソッド

■ mailoptionパラメータ
MailOptionプロパティの既定値。
mailoption=メールオプション。
解説
1024バイトまで指定できます。追加するヘッダなどを記述します。
複数のヘッダは、カンマかタブで区切ります。
使用例
mailoption=>Reply-To: 馬場<hoge@hoge.com>,cc,馬場1<hoge1@hoge.com>,馬場2<hoge2@hoge.com>
関連項目
MailOptionプロパティ MailFromプロパティ SendMailメソッド

■ mailoption2パラメータ
拡張のメールオプションを指定します。 複数指定する場合は、"," かブランクで区切って1行で指定します。
mailoption2=メールオプション。
解説
メールオプションを文字列で指定します。複数のオプションを指定する場合は","で区切ります。
●body=file       SendMailメソッドで本文にファイル名を指定することで
                  本文の内容をファイルから読み込んで送信します。
                  複数ファイルを指定する場合は、";"でファイル名を区切ります。
●nocomma         宛先メールアドレスの区切り文字として","を使用しません。
●no_quoted_printable  本文が255バイト以上の行の場合にも
                  quoted_printableヘッダを追加しません。
●bulksendmail=yes  SendMailメソッド終了時にメールサーバーの切断処理をしません。
                  後続のSendMailメソッドが高速で処理されます。
●singlefile    FlushMailメソッドで1ファイルで一行単位にメールを取り出して送信。
ファイルの仕様:
1.一通を一行(一ブロック)とする
2.一通一行ごとにMail To:Mail From:Subject:Body:の指定が出来るようにする
3.一通一行ごとにユニークな番号を先頭につける
ファイルの形式:
各項目は、タブ 0x9 で区切る。
番号[tab]mail-to[tab]mail-from[tab]subject[tab]body
body に 改行(CRLF) を含む場合は、\n と文字変換して埋め込む。
番号は、行の識別として埋め込まれ、メール送信時には無視される。
行の最大長は、8000バイトとする。
ファイル例:
1	xxxx@xxxx.xx	xxxx@xxxx.xx	件名A	こんにちは。\nさようなら
2	xxxx@xxxx.xx	xxxx@xxxx.xx	件名B	こんにちは。\nさようなら
●flushmax      一度の呼出してメールキューから取り出すメール数。
●flushintervalcount メールサーバに1回のコネクトで送信するメール数
                     この数に達すると、切断して再コネクトします。
●flushintervaltime  再コネクト時に空ける間隔(秒数)
●sprogress=on[9999]   SendMailメソッドで進捗イベントを発生します。
9999 は、数値 1-32768 まで指定可能です。
省略値は、100 で現行の進捗間隔でイベントが発生します。
4KBが送信単位で、この数値が 100 ですと 400KB で
イベントが発生します。
●charset=iso-2022-jp  multipart ヘッダを指定すると本文をコード変換せずに
                       送信しますが、このオプションを指定するとJISに変換して
                       送信します。
●EHLO2=yes   STARTTLSコマンド応答の後にEHLOコマンドを発行する。

●rcpttoerror=ignore   複数宛先送信時に、RCPT TOコマンドで エラーの場合でも、
                       送信処理を続行します。
●magicpath=no|パス名 マジックファイルパス名。
                      バージョン 1,0,1308,7以降で有効な機能です。
●rcvmaillock=秒数    同一アカウントのRcvMailメソッドの終了待ち秒数
                      同一アカウントのRcvMailメソッドの呼出しを
                      シリアライズしたいときに指定します。
                      バージョン 1,0,1308,7以降で有効な機能です。
●savenew=only        新着メールを逆読みします。
                      サーバー側にメールを大量に格納している場合に
                      処理を高速化します。
                      バージョン 1,0,1401,20以降で有効な機能です。
●connect-check       SendMailメソッドでメールサーバーへの接続のみをチェックします。
                      SMTP AUTH認証もチェックします。
                      送信処理は行いません。
                      バージョン 1,0,1702,9以降で有効な機能です。
●mailto-check=yes    SendMailメソッドでメールサーバーへの接続と宛先メールアドレスをチェックします。
                      送信処理は行いません。
                      バージョン 1,0,1702,9以降で有効な機能です。
使用例
mailoption2=sprogress=on50 bulksendmail=yes
関連項目
MailOptionプロパティ MailFromプロパティ SendMailメソッド

■ mailsmtpauthパラメータ
SMTP AUTH設定。
mailsmtpauth=ユーザ名:パスワード,[login|cram-md5]。
解説
SMTP AUTH は、login または cram-md5 のいずれかを選択します。
最大サイズは64バイト。
使用例
mailsmtpauth=user1:pass1,login
関連項目
SendMailメソッド FlushMailメソッド

■ mailuserpassパラメータ
RcvMailメソッドで使うPOP3メールアカウントのユーザ名およびパスワードの既定値。
mailuserpass=ユーザ名:パスワード。
解説
最大サイズは64バイト。
使用例
mailuserpass=user1:pass1
関連項目
RcvMailメソッド

■ mailqueueパラメータ
SendMailメソッドでメールを保存するメールキューのディレクトリ名。
mailqueue=ディレクトリ名
解説
mailqueueパラメータを指定したとき、SendMailメソッドはメールキューに
メールファイルを作成するだけです。
FlushMailメソッドで実際にSMTPサーバに送信するときにメールキューからファイルを
取り出して送信します。

FlushMailメソッド実行時には、以下のようにメールキューの内容は変更されます。
メールキューに sent サブディレクトリを作成しておくと、メール送信が
成功したメールファイルを sent サブディレクトリに移動します。
sent サブディレクトリがない場合は、メールファイルは削除されます。

メールキューに err サブディレクトリを作成しておくと、メール送信が
失敗したメールファイルを sent サブディレクトリに移動します。
err サブディレクトリがない場合は、メールファイルはそのまま残されます。

homeパラメータの相対パスを指定するには、先頭に "." をつけます。
mailqueue=.\mailqueue

指定したディレクトリが存在しない場合は、BASP21 Proが作成します。
使用例
mailqueue=c:\env1\maildir1
関連項目
SendMailメソッド FlushMailメソッド

■ max_threadパラメータ
FlushMailメソッドでSMTPセッションをマルチスレッドで処理する場合の 最大スレッド数を指定します。初期値は、0 でマルチスレッドで処理しません。
max_thread=スレッド数
解説
このパラメータを指定してFlushMailメソッドの単位時間当たりの送信メール数を
増やすことができます。
指定できる最大スレッド数は、48です。

使用例
max_thread=8
関連項目
FlushMailメソッド

■ monitorパラメータ
Monitorメソッドで他のスレッドから状態をモニターしたりキャンセルしたりするための ファイル(モニターファイル)を作成するディレクトリを指定します。
monitor=ディレクトリ名
解説
他のスレッドから実行状態をモニターしたりキャンセルしたりするには、monitorパラメータが
必要です。

指定したディレクトリにスレッドID + ".mon.txt"というファイル名でモニターファイルが
作成されます。
モニターファイルにメソッドの状態やキャンセル情報などを書出します。

サーバサイドでは、進捗ダイアログを表示できないため時間のかかる処理をモニターするときに
便利です。

homeパラメータの相対パスを指定するには、先頭に "." をつけます。
monitot=.\monitor


指定したディレクトリが存在しない場合は、BASP21 Proが作成します。
使用例
monitor=c:\monitor\dir1
関連項目
Monitorメソッド Cancelメソッド PutLogメソッド

■ readmailoptパラメータ
ReadMailメソッドの添付ファイルの保存方法などを指定します。
readmailopt=オプションを数値で指定
       0 - 既定値。同名のファイルがある場合は、上書きされます。
       1 - 添付ファイルは、保存されません。
       2 - 既存の同名添付ファイルは、そのままで新しいファイルを
           xxx(n).xxx で書き込みます。
       4 - 既存の同名添付ファイルをxxx(n).xxx にリネームします。
       8 - 本文を読み込みません。
解説
ReadMailメソッドは、添付ファイルを指定したディレクトリに書込みます。
添付ファイル名が同名の場合に上書きするかどうか指定します。
使用例
readmailopt=4
関連項目
ReadMailメソッド

■ refresh_tokenパラメータ
OAuth2認証で使うリフレッシュトークン。
refresh_token=リフレッシュトークン
解説
使用例
refresh_token=rt679kij.......
関連項目
token_uriパラメータ

■ popserverパラメータ
PopServerプロパティの既定値。
popserver=[SSL ]POP3サーバ名[:port:タイムアウト値]
解説
IPアドレスのほうが名前を解決しないので高速です。
使用例
popserver=192.168.1.200
# POP3S(POP3 over SSL) STLSコマンド使用
popserver=SSL 192.168.1.200
# POP3S(POP3 over SSL) 995ポート使用
popserver=192.168.1.200:995
関連項目
RcvMailメソッド PopServerプロパティ

■ proxyパラメータ
プロクシサーバ名。
proxy=プロクシサーバ名[:port]
解説

使用例
proxy=192.168.1.200:8080
関連項目
UpLoadメソッド DownLoadメソッド

■ proxyuserpassパラメータ
HTTPモードのプロクシユーザ名パスワード名。
proxyuserpass=ユーザ名:パスワード名
解説
Proxy-Authorization: Basicヘッダを送信します。
使用例
proxyuserpass=user1:pass1
関連項目
UpLoadメソッド DownLoadメソッド

■ serverパラメータ
Serverプロパティの既定値。
server=[ドメイン名/]SMTPサーバ名またはIPアドレス[:port:タイムアウト値(秒)]
解説
ドメイン名を指定するとDNS逆引きをしないので高速です。
使用例
server=hosta.mydomain.com/192.168.1.1
# SMTPS(SMTP over SSL) STARTTLSコマンド使用
server=hosta.mydomain.com/SSL 192.168.1.1
# SMTPS(SMTP over SSL) 465ポート使用
server=hosta.mydomain.com/192.168.1.1:465
関連項目
Serverプロパティ SendMailメソッド FlushMailメソッド

■ server2パラメータ
server2=[ドメイン名/]SMTPサーバ名またはIPアドレス[:port:タイムアウト値(秒)]
解説
Serverプロパティで指定したサーバー名で接続エラーの場合、このサーバー名でリトライします。

バージョン1,0,1808,21 以降でサポートされます。

使用例
server2=hosta.mydomain.com/192.168.1.1
関連項目
Serverプロパティ SendMailメソッド FlushMailメソッド

■ showdialogパラメータ
ShowDialogプロパティの既定値。
showdialog=0/1/2/3/4/5
解説
進捗ダイアログを表示したいときに指定します。既定値は、0 で表示しません。
使用例
showdialog=1
関連項目
ShowDialogプロパティ logoパラメータ

■ source_ipパラメータ
source_ip=送信元IPアドレス指定オプション
解説
TCP/IP 接続時の送信元IPアドレスを指定します。

バージョン1,0,1803,20 以降でサポートされます。

使用例
source_ip=192.168.1.90
関連項目

■ sslverパラメータ
TLSプロトコルを指定します。既定値は、TLS1.0 です。
sslver=2/3/10/11/12
解説
TLSプロトコルのバージョンを指定します。
2:SSL2
3:SSL3
10:TLS1.0
11:TLS1.1
12:TLS1.2


バージョン1,0,1506,3 以降でサポートされます。

使用例
sslver=12
関連項目

■ timebiasパラメータ
ReadMailメソッドのDateヘッダの時間補正。
timebias=時間単位
解説
Dateヘッダは、マシンのローカル時間で自動的に補正されます。
他のタイムゾーンのローカル時間にさらに補正するときに使います。
使用例
# ハワイ時間
timebias=-19
関連項目
ReadMailメソッド

■ to-headerパラメータ
SendMailメソッドでメール送信するときに、Toヘッダーを任意な値に変更します。
to-header=Toヘッダ内容
解説
Toヘッダーを任意な値に変更したいときに使用します。
メールアドレスを複数指定するときは、","で区切ります。
メールアドレスの妥当性チェックはしません。
指定できる最大バイト数は、2048バイトです。

Envプロパティで動的に指定可能です。
bobj.env="+to-header=xxxxxxx"

to-headerパラメータは、バージョン1,0,2012,4以降でサポートされます。

使用例
to-header=大阪太郎<xxx@xxx>,大阪次郎<xxx@xxx>
関連項目
cc-headerパラメータ

■ token_uriパラメータ
OAuth2トークン取得URL。
token_uri=OAuth2トークン取得URL
解説
OAuth2トークン取得URL。
クライアントIDやクライアントシークレット、リフレッシュトークンからアクセストークンを取得。
使用例
token_uri=https://accounts.google.com/o/oauth2/token
関連項目
refresh_tokenパラメータ

■ trapパラメータ
Trapプロパティの既定値。
trap=0/1
解説
メソッドまたはプロパティの例外処理の既定値を設定します。
使用例
trap=1
関連項目
Trapプロパティ

■ uploadoptパラメータ
UpLoadメソッドのオプションの既定値。
uploadopt=オプションの並び
解説
UpLoadメソッドのオプションに追加されて使われます。
使用例
uploadopt=-F user1:pass1
関連項目
UpLoadメソッド

■ xmailerパラメータ
メール送信時の既定のX-Mail-Agentヘッダーを変更します。
xmailer=ヘッダー
解説
メール送信時には、以下のヘッダーが既定値のX-Mailerヘッダーです。
X-Mail-Agent: BASP21 Pro  1,0,x,x B21Soft

xmailerパラメータでこのヘッダーを変更できます。
先頭文字は、"X-" で開始してください。
使用例
xmailer=X-Mailer: B21Soft SendMail
関連項目
SendMailメソッド FlushMailメソッド Bsendmメソッド

■ zipパラメータ
zip処理を実行したいメソッド名を指定します。 複数メソッドを指定するときは、","で区切ります。
パスワードは、zippassパラメータで指定します。
ZIP処理は、バージョン1,0,1710,20以降でサポートされます。
zip=メソッドの並び
bobj.env="+zip=メソッドの並び"
解説
このパラメータにメソッド名を指定した場合のみ、ZIP処理の対象となります。
SendMailメソッド:添付ファイルをzipファイルで圧縮して送信します。
添付ファイル名にフォルダを指定した場合、フォルダ以下すべてのファイルを圧縮します。
zipdirパラメータのフォルダにzipファイルを作成保存します。
zipdirパラメータがフルパスのzipファイル名なら、そのファイル名で作成します。
zipdirパラメータの指定がない場合は、一時フォルダに作成して、メール送信後に削除します。
メールキュー指定の場合は、メールファイル作成とzip ファイルを作成します。

ReadMailメソッド:添付ファイルが".zip" 拡張子の場合、zip展開します。
zipdirパラメータのフォルダにファイルを展開します。
フォルダ階層を含めて作成します。
作成するファイル日付は、ZIPファイルの書庫日付となります。
zipoptパラメータのfiledate=now オプションで現在時刻に変更できます。

ReadDirメソッド:zip ファイルに含まれているファイルリストを返します。
zipdirパラメータのフォルダにファイルを展開します。
フォルダ階層を含めて作成します。
ファイル日付は、ZIPファイルの書庫日付となります。
zipoptパラメータのfiledate=now オプションで現在時刻に変更できます。
zipdirパラメータの指定がない場合は、展開せずにファイルリストだけ返します。

FormSaveAsメソッド:zipファイルを展開します。
ファイル日付は、ZIPファイルの書庫日付となります。
zipoptパラメータのfiledate=now オプションで現在時刻に変更できます。
zipdirパラメータのフォルダにファイルを展開します。
zipdirパラメータの指定がない場合は展開しません。

UpLoadメソッド:ファイルを圧縮してアップロードします。
フォルダを指定した場合、フォルダ以下すべてのファイルを圧縮します。
zipdirパラメータのフォルダにzipファイルを作成保存します。
zipdirパラメータがフルパスのzipファイル名なら、そのファイル名で作成します。
zipdirパラメータの指定がない場合は、
一時フォルダに作成、アップロード後に削除します。


以下の場合には、ZIP処理がエラー終了します。
65535を超えるファイル数の圧縮(-82)
-4GBを超えるファイル圧縮(-82)
-4GBを超えるZIPファイル圧縮及び展開(-83)
-圧縮後のサイズが2GBを超えるファイル(-82)
-展開パスワード誤り(-85)

ZIP処理の書庫ファイル日付は、既定では、ファイル更新日付です。
zipoptパラメータのfiledate=now オプションで現在時刻に変更できます。


BASP21 Pro でサポートするZIP形式は、以下のとおりです。
・圧縮アルゴリズム:Deflate
・パスワード暗号化方式:ZipCrypto 96bit

ZIP書庫に含まれるパス名/ファイル名は、
入力パラメータの最終フォルダ名以降のパス名となります。
以下のパターンです。
・ファイル名のみ
・フォルダ名1/ファイル名
・フォルダ名1/フォルダ名2/..../ファイル名



例:ファイル名単体指定ZIPの場合
フォルダ名はつきません。ファイル名のみです。
c:\dir1\dir2\abc.txt
	abc.txt

例:フォルダ名指定ZIPの場合
最終フォルダ名(dir2)以降のパス名となります。
c:\dir1\dir2
	dir2/abc.txt
	dir2/dir3/xyz.txt


zipファイル作成時と展開時にパスワードを指定できます。
長さ512バイトまで半角全角文字指定可能。

ZIP処理は、バージョン1,0,1710,20以降でサポートされます。

使用例
zip=sendmail
zipdir=c:\temp\zip
zippass=パスワード!

bobj.env="+zip=sendmail"
bobj.env="+zipdir=c:\temp\zip"
bobj.env="+zippass=パスワード!"

関連項目
zipdirパラメータ zippassパラメータ zipfilterパラメータ zipoptパラメータ

■ zipdirパラメータ
zip処理時にアクセスするフォルダ名やファイル名を指定します。
ZIP処理は、バージョン1,0,1710,20以降でサポートされます。
zipdir=フォルダ名
bobj.env="+zipdir=フォルダ名"
解説
SendMailメソッド:
フォルダ名の場合、zipファイルを作成保存します。
作成するzipファイル名は、オリジナルのフォルダ名やファイル名.zip となります。
フルパスのzipファイル名なら、そのファイル名でzipファイルを作成します。
作成したzipファイルはメール送信後もそのまま残ります。
zipdirパラメータの指定がない場合は、
一時フォルダに作成して、メール送信後に削除します。

ReadMailメソッド:
zipdirパラメータのフォルダにzipファイルを展開します。
指定がない場合は、ReadMailメソッドの第3引数のフォルダに保存します。

ReadDirメソッド:
zipdirパラメータのフォルダにファイルを展開保存します。
指定がない場合は、ファイル名のみを返します。

UpLoadメソッド:
フォルダ名の場合、zipファイルを作成保存します。
作成するzipファイル名は、オリジナルのフォルダ名やファイル名.zip となります。
フルパスのzipファイル名なら、そのファイル名でzipファイルを作成します。
作成したzipファイルはアップロード後もそのまま残ります。
zipdirパラメータの指定がない場合は、一時フォルダに作成して、アップロード後削除します。

FormSaveAsメソッド:
zipdirパラメータのフォルダにファイルを展開保存します。
指定がない場合は、ZIP展開しません。


使用例
zipdir=c:\temp\zip

bobj.env="+zipdir=c:\temp\zip"
関連項目
zipパラメータ zippassパラメータ zipfilterパラメータ  zipoptパラメータ

■ zipfilterパラメータ
zip処理時にファイル名で文字検索します。絞込む文字列を指定します。
検索対象となるファイル名は、書庫に含まれる"フォルダ名/ファイル名"となります。
ZIP処理は、バージョン1,0,1710,20以降でサポートされます。
zipfilter=[|][<]文字1[>]:[|][<]文字2[>]:[|][<]文字3[>]....
bobj.env="+zipfilter=文字1:文字2:文字3...."
解説
zipファイル作成時と展開時に、ファイル名の絞込みが可能です。
":" コロンで複数の文字列を区切ります。

以下のメタ文字を指定できます。

| .... 除外
< .... 先頭とマッチ
> .... 末尾とマッチ


ZIP書庫に含まれるパス名/ファイル名は、
入力時の最終フォルダ名以降のパス名となります。

例:ファイル名指定ZIPの場合
c:\dir1\dir2\abc.txt
	abc.txt

例:フォルダ名指定ZIPの場合
c:\dir1\dir2
	dir2/abc.txt
	dir2/dir3/xyz.txt

<dir2/dir3/xyz.txt> は、マッチします。
<xyz.txt> は、マッチしません。
xyz.txt> は、マッチします。



例:ドライブレターのみ指定ZIPの場合
c:\
	/dir1/dir2/abc.txt

先頭に "/" が付きます。


使用例
zipfilter=.doc>:.ppt>

bobj.env="+zipfilter=.doc>:.ppt>"
関連項目
zipパラメータ  zippassパラメータ zipdirパラメータ zipoptパラメータ

■ zipoptパラメータ
zip処理時のオプションを指定します。
ZIP処理は、バージョン1,0,1710,20以降でサポートされます。
説明オプション名処理種別
ファイル名をUTF-8で読み書きしたいencode=utf-8ZIP/UNZIP
空フォルダを無視したいskipemptydir=yesZIP/UNZIP
オープンエラーのファイルをスキップskiperr=yesZIP
ZIPファイル作成サイズを制限したい(KB)maxzipsize=51200ZIP
大きいファイルサイズはエラーにしたい(KB)maxfilesize=0ZIP
ファイル数を制限したいmaxfilecount=0ZIP
ファイル更新日付で選別したいmodified=0ZIP
ファイル属性を無視したい。読み取り専用、隠しなどattr=noZIP/UNZIP
既存ファイル属性(読み取り専用、隠し)でも置換delete=forceUNZIP
ZIPファイルに追加処理update=1ZIP
ZIPファイル追加処理で同名ファイル置換update=2ZIP
ZIPファイル追加処理で同名ファイル日付が新しいとき置換update=3ZIP
ファイル更新日を現在時刻にしたいfiledate=nowZIP/UNZIP
2段階ZIP処理をしたいpass2=パスワードZIP/UNZIP
ログデータを見たいlogfile=ログファイル名ZIP/UNZIP
zipopt=maxfilesize=51200,encode=utf-8,skipemptydir=yes,logfile=file-name,pass2=パスワード2!
bobj.env="+zipopt=limit=51200,encode=utf-8,skipemptydir=yes,pass2=パスワード2!"
解説

encode=utf-8
ZIP時にフォルダ名/ファイル名をUTF-8で書き込みます。
UNZIP時には、UTF-8変換してファイル名を取り出します。
通常、UNZIP時は、ZIPファイルに UTF-8フラグが
設定されていますのでこのオプションは不要です。

skipemptydir=yes
フォルダ指定のZIPファイル作成時に、空フォルダを追加しません。
無指定の場合、ZIPファイルに空きフォルダ名も追加します。
UNZIP時には、空フォルダを追加しません。
無指定の場合、空きフォルダも作成します。

skiperr=yes
ZIP時にファイルオープンエラーのファイルをスキップして次のファイルの処理を続行します。
無指定の場合、オープンエラー時にエラー復帰します。

maxzipsize=ZIPファイル制限サイズ
ZIP時の制限サイズをKB単位で指定します。
ZIPファイルサイズがこの値を超えるとエラー復帰します。
既定値は、51200で 50MBです。
0 を指定すると4194303KB(4GB) となります。

maxfilesize=ファイル制限サイズ
ZIP時の単体ファイルの制限サイズをKB単位で指定します。
大きいサイズのファイルを検出するとエラー復帰します。
既定値は、0 で4194303(KB)4GBです。

maxfilecount=ファイル数制限
ZIP時のファイル数の制限数を指定します。
入力ファイル数がこの値を超えるとエラー復帰します。
既定値は、0 で 65535です。

modified=ファイル更新日付日数
更新日付でファイルを選択したいときに指定します。
ファイル更新日付の日数を数値で指定します。
無指定か0 の場合、すべてのファイルが対象となります。
1: 本日更新されたファイル
2: 1日前から本日まで
3: 2日前から本日まで
4: 3日前から本日まで
n: n-1日前から本日まで

attr=no  ファイル属性処理
UNZIP時のファイル作成時にZIP書庫のファイル属性(読み込み専用、隠し)を無視します。
指定しない場合は、ファイル属性が反映されます。

delete=force ファイル置換強制モード
ファイル置換でファイル属性(読み取り専用、隠し)を無視します。既定は、置換エラーで終了します。

update=1|2|3 ZIPファイル更新処理
既存ZIPファイルにファイル追加や更新処理をします。
既定は、0で新規にZIPファイル作成します。
1: 同名ファイルは置換しない
2: 同名ファイルは無条件に置換
3: 同名ファイルはファイル日付が新しい場合のみ置換


既定は、update=0 でZIPファイルを新規作成します。
書庫の"フォルダ名/ファイル名"は、以下のパターンです。
・ファイル名のみ
・フォルダ名1/ファイル名
・フォルダ名1/フォルダ名2/..../ファイル名

フォルダ名が異なれば、同名ファイルとみなしません。


filedate=now ファイル日付
ファイル日付を現在時刻にする。
既定は、ZIP時にはファイル更新日付が書庫ファイル日付となり、
UNZIP時には、書庫ファイル日付でファイルを作成します。

pass2=第2パスワード
2段階ZIP処理を行います。ZIPパスワードを指定します。

SendMail/UpLoadメソッド:
ZIP圧縮ファイル作成後にもう一度、そのZIPファイルを圧縮します。
ファイルの拡張子は、.zip.zip となります。

ReadMail/ReadDir/FormSaveAsメソッド:
ファイルの拡張子が.zip.zip の場合に、ZIPファイル展開を2回行います。

2回目のZIP展開は、1回目のZIPファイルの最初のZIPファイルのみに行います。

logfile=logfile-name
詳細ログをファイルに書き込みます。



使用例
zipopt=maxzipsize=0
bobj.env="+maxzipsize=0"
関連項目
zipパラメータ  zippassパラメータ zipdirパラメータ zipfilterパラメータ

■ zippassパラメータ
zip処理時に使用するパスワード。
展開時にパスワードエラーの場合は、メソッドが失敗します(-85)。
ファイル名リストは、パスワード無しで取出し可能です。
ZIP処理は、バージョン1,0,1710,20以降でサポートされます。
zippass=パスワード
bobj.env="+zippass=パスワード"
解説
zipファイル作成時と展開時のパスワードを指定します。
長さ512バイトまで指定可能。

パスワードは、半角全角、16進数での指定が可能です。
全角文字の場合は、sjis で処理します。

暗号化方式:ZipCrypto。鍵長:96bit。
パスワードから96bit長の鍵を生成します。
パスワードがどれだけ長くても実質的な強度は 96bit 以下となります。

鍵パターン数は、2の96乗=7.9228163e+28 です。
異なるパスワードでも結果的に同じ鍵パターンになる可能性があります。
つまり長いパスワードとは異なる短いパスワードで展開できる可能性があります。

96bitの鍵とファイルごとに作成する12バイトのランダムキーで暗号化します。
そのため、パスワードとファイル内容が同じでも
作成されるZIPファイル内容は毎回異なります。

10文字以上のパスワードを推奨します。
よく使われる「英数半角」+「大文字小文字」という62文字の組み合わせなら
「8文字」で毎秒2億パターン試行で2週間で解析可能というデータがあります。


特殊文字:%date%
現在日付のYYYYMMDD に置き換えます。

特殊文字:%xhh..%
16進数 hh....(偶数個)を16進数で置き換えます。 00 は、指定できません。
例: %xFFFF%   ..... FFFF
%xEEAACCBB%   ..... EEAACCBB

注意:ZIPツールによっては、16進数を指定した場合、展開できません。

使用例
zippass=ここは日本!日本語で!
bobj.env="+zippass=ここは日本!日本語で!"
関連項目
zipパラメータ  zipdirパラメータ zipfilterパラメータ  zipoptパラメータ


■ メッセージ

番号説明処置
-1  ビジー。同一スレッドでメソッドが実行中。 または同一ディレクトリ(mailqueue)指定で FlushMail を呼び出し。
または同一ログファイル指定でBsendm を呼び出し。
他のメソッドが終了してから実行。
またはディレクトリ名を変更。
-2キャンセルされた。 なし。
-3タイムアウト。Executeメソッドでプロセスタイムアウト。 なし。
-4メソッド、プロパティが許可されていない。 basp21p.ini ファイルが存在しない。
インストール後basp21p.ini.txtからbasp21p.iniへのファイル名変更が必要。
またはトライアル版の期限切れ。
またはallowパラメータ、または denyパラメータを確認。
-5ファイルまたはディレクトリが空。 ファイル、ディレクトリなどを確認。
-6ファイルオープンエラー。 CreateFile(win32API)関数のエラー。 ログの詳細情報を確認。
-7CreateFileMap(win32API)関数のエラー。 ログの詳細情報を確認。
-8MapViewOfFile(win32API)関数のエラー。 ログの詳細情報を確認。
-9ファイル書込みエラー。 WriteFile(win32API)関数のエラー。 ログの詳細情報を確認。
-10ファイル移動エラー。 MoveFile(win32API)関数のエラー。 ログの詳細情報を確認。
-11ファイル削除エラー。 DeleteFile(win32API)関数のエラー。 ログの詳細情報を確認。
-12メモリ不足。 ログの詳細情報を確認。
-13Winsock API関数エラー。 ログの詳細情報を確認。
-14コマンドエラー。 メソッドの引数内容を確認。
-15ファイル名指定エラー。 メソッドの引数内容を確認。
-16バイト配列エラー。 バイナリデータでない引数が渡された。 メソッドの引数内容を確認。
-17ファイルが見つからない。 ファイル名を確認。
-18ディレクトリが見つからない。 ディレクトリ名を確認。
-19引数の誤り。 引数を確認。
-20メールファイルの内容の誤り。 メールファイル内容を確認。
-22サーバ名エラー。 SMTP/POP3サーバ名を確認
-23メールアカウント名エラー。 メールアカウント名を確認
-24メールアカウントパスワードエラー。 メールアカウントパスワード名を確認
-25ポート番号エラー。 サーバ名の後のポート番号を確認
-26サーバコネクトエラー。 ログの詳細情報を確認。
-27POP3応答エラー。 ログの詳細情報を確認。
-28APOPはサーバでサポートされてない。 APOPの指定をやめる。
-29APOP失敗。 APOPのユーザ名パスワードを確認。
-30メール数オーバー。 指定したメール番号がサーバー上のメール数を超えている。
-32宛先メールアドレスの長さエラー。 宛先メールアドレスの長さを確認。
-33送信元メールアドレスの形式エラー。 送信元メールアドレスを確認。
-34送信元メールアドレスの長さエラー。 送信元メールアドレスの長さを確認。
-35SMTP AUTHパラメータエラー。 SMTP AUTHパラメータを確認。
-36メール件名の長さエラー。 メール件名の長さを確認。
-37本文の長さエラー。 メール本文の長さを確認。
-38メール添付ファイルが見つからない。 添付ファイル名を確認。
-39宛先メールアドレスの個数が多すぎる。 宛先メールアドレスの個数を確認。
-40宛先メールアドレスの形式エラー。 宛先メールアドレスを確認。
-41BCCファイルの宛先メールアドレスの形式エラー。 BCCファイルの宛先メールアドレスを確認。
-42メールオプションの形式エラー。 BCCメールオプションを確認。
-43メールオプションのヘッダ形式エラー。 BCCメールオプションをヘッダ形式を確認。
-44メールオプションの転送ファイルエラー。 BCCメールオプションの転送ファイルを確認。
-45SMTP応答エラー。 ログの詳細情報を確認。。
-46SMTP AUTH応答エラー。 ログの詳細情報を確認。。
-47SMTP AUTHのCRAM-MD5応答エラー。 ログの詳細情報を確認。
-49URLの文字列が長すぎる。 URLを確認。。
-50URLの形式エラー。 URLを確認。。
-51送信エラー。 ログの詳細情報を確認。
-52HTTPサーバエラー。 ログの詳細情報を確認。
-53ディスク容量不足。 ディスク容量を確認。
-54ダウンロード時のKconvFileエラー。 ログの詳細情報を確認。
-55Bsendmメソッドでログファイル未指定。 パラメータファイルを確認。
-56Bsendmメソッドでログファイルオープンエラー。 パラメータファイルを確認。
-57Bsendmメソッドでサーバ名未指定。 パラメータファイルを確認。
-58Bsendmメソッドで宛先メールアドレス未指定。 パラメータファイルを確認。
-59Bsendmメソッドで送信元メールアドレス未指定。 パラメータファイルを確認。
-60Bsendmメソッドで置換ファイルが見つからない。 パラメータファイルを確認。
-61Bsendmメソッドで置換ファイルがバイナリ。 パラメータファイルを確認。
-62Bsendmメソッドで宛先メールアドレス形式エラー。 パラメータファイルを確認。
-63FTP応答エラー。 ログの詳細情報を確認。
-64CreateWindow(win32API)関数のエラー。 ログの詳細情報を確認。
-65CreateDialogParam(win32API)関数のエラー。 ログの詳細情報を確認。
-66SetFilePointer(win32API)関数のエラー。 ログの詳細情報を確認。
-67CreateProcess(win32API)関数のエラー。 ログの詳細情報を確認。
-68ReadFile(win32API)関数のエラー。 ログの詳細情報を確認。
-69DuplicateHandle(win32API)関数のエラー。 ログの詳細情報を確認。
-70SafeArrayAccess(win32API)関数のエラー。 ログの詳細情報を確認。
-71SetThreadPriority(win32API)関数のエラー。 ログの詳細情報を確認。
-72GetFileTime(win32API)関数のエラー。 ログの詳細情報を確認。
-73SecureFileメソッドでデータベースファイルエラー。 ログの詳細情報を確認。
-74HTTP応答エラー。 ログの詳細情報を確認。
-75CloseHandle(win32API)関数のエラー。 ログの詳細情報を確認。
-76CreateMutex(win32API)関数のエラー。 ログの詳細情報を確認。
-77CreateDirectory(win32API)関数のエラー。 ログの詳細情報を確認。
-78ファイルが既に存在する。 FormSaveAsメソッドで置換禁止モードを確認。
-79ファイルサイズが大きすぎる。 UpLoadメソッドで分割モードを使う。
-80UpLoad/DownLoadメソッドでSSLエラー。TLS1.2を使う。 ログの詳細情報を確認。
-81logonuserパラメータのアカウント偽装に失敗。 ログの詳細情報を確認。
-82ZIP処理エラー。 ログの詳細情報を確認。
-83UNZIP処理エラー。 ログの詳細情報を確認。
-84フォルダ削除エラー。 ログの詳細情報を確認。
-85ZIPパスワードエラー。 ログの詳細情報を確認。
-86oauth2エラー。 ログの詳細情報を確認。

■ ログレコード

logfileパラメータを指定するとログにさまざまなログレコードが書き込まれます。
errorlogfileパラメータを指定するとエラー関連のログのみ書き込まれます。
エラーの場合、ログレコードは、最初のマイナスの数値がBASP21 Proのエラー番号、 意味(またはエラーを返したWin32 API名)、 プラスのOSのシステムエラー番号(GetLastError関数の戻り値)と対応するメッセージです。 ReadLogメソッドでログレコードを読込むことができます。 PutLogメソッドでログレコードを書き込むこともできます。 logfileパラメータとerrorlogfileパラメータは、同時に指定することができます。
ログは、次のように1行が1レコードです。
yyyy/mm/dd hh:mm:ss.mmm tid-handle env(bit-env) method message
●yyyy/mm/dd hh:mm:ss.mmm  -   日付と時刻。ミリ秒まで。
●tid           -   メソッドが実行されたプロセスのスレッドID(数値)。
●oid           -   オブジェクトID(数値)。
●env           -   env名
●bit-env       -   32bit / 64bit / 32bit WOW64 識別名
●method        -   メソッドまたはプロパティ名
●message       -   メッセージ本文


logcsvパラメータで項目をカンマまたはタブで区切ることができます。
実際の例:
2001/02/03 11:12:01.277 956-126680 ie5(32bit) DownLoad begin [IUSR_MACHINE]
................................
2001/02/03 11:12:05.763 956-126680 ie5(32bit) DownLoad end 1  (4486msec)
メッセージの先頭にはメッセージ種別がつけられます。 以下にメッセージ種別の意味を示します。
メッセージ種別説明
argSendMail引数
begin [account]メソッド開始。アカウント名。
endメソッド終了。終了コードと処理時間
FTP >FTPサーバへ送信
FTP <FTPサーバから受信
HTTP >HTTPサーバへ送信
HTTP <HTTPサーバから受信
MD5SecureFileでMD5処理されたファイル名
paramOBJECTタグで初期化された
POP3 >POP3サーバへ送信
POP3 <POP3サーバから受信
resultメール送信結果やソート結果、総称名指定のFormSaveAs の個別ファイル名などの結果
SMTP >SMTPサーバへ送信
SMTP <SMTPサーバから受信
TCP/IPTCP/IPイベント
SSLSSLセッション イベント
warning bad licenseBASP21P.INIライセンス番号の誤り
warning 'allow' specified before 'deny' parameter BASP21P.INI allowパラメータがdenyパラメータの前に指定
warning 'deny' specified before 'allow' parameter BASP21P.INI denyパラメータがallowパラメータの前に指定
warning invalid or duplicate basp21p.ini parameter BASP21P.INI パラメータ名が重複しているかパラメータ名誤り
warning env #### not foundenv名がBASP21P.INIにない
warning env global not foundglobal env 名がBASP21P.INIにない
以下-1から-86まで-nn:xxxx意味は、各エラーコード参照


[ホーム] [会社概要] [製品] [サポート]
[BASP21 Pro] [FAQ] [アプリケーションガイド] [ユーザガイド] [リファレンス] [サンプル]
[FTP オブジェクト] [ソケット オブジェクト]

Copyright © 2001-2024 B21Soft, Inc. All Rights Reserved.