サーバーを Window Server 2003 から Windows Server 2008 R2 へと更新しました。このサーバーではメールを送信するバッチが実行しています。この環境構築を行います。
私は途中から受け継いだのですが、資料等もありませんので実際に動いているバッチを解析して環境を整えるしかありません。
問題の箇所は「VBScriptでbasp21を利用してメールを送信する」処理をしている部分です。
何も考えずに実行してみると「basp21」が見つからないと言ってきます。「basp21」というものが何か知らなかったので調べたところ、メールの送受信(それ以外にもHTTPも処理してくれるようです)をするプログラム(DLL)ということがわかりました。
★BASP21のインストール
① サイト「http://www.hi-ho.ne.jp/babaq/basp21.html」 に行き、「BASP21-2003-0211.exe」をダウンロードし、インストールする。(exeを実行するだけで問題無くインストールされました)
② 同じく「Bsmtp20070629-587.lzh」をダウンロードし、解凍してできた「Bsendm.exe」「Bsmtp.dll」を「C:\windows\SysWOW64」フォルダに上書きする。
※手順②は①で不具合が無ければ行う必要はないのですが念のため行いました。
この段階で再びバッチファイルを実行してみました。すると「"basp21"というオブジェクトを作成できませんでした。」のエラーメッセージが出てきて完了しませんでした。これは64bit環境で32bitプログラムを実行させたためのようです。
バッチファイル内のvbscriptを呼び出す部分を変更したところ正常に処理が完了しました。
cscript.exe → C:\windows\SysWOW64\cscript.exe
ちなみにASPの場合はIISで目的のサイトの「32ビットアプリケーションの有効化」を[True]に設定すればよいようです。
0 件のコメント:
コメントを投稿