ASP Tips

ASP(Active Server Pages)のVBScriptサンプルやヒントを集めました。




SendMailメソッドのサンプルを見せて

フォームからサブジェクトと本文を入力してメールの送信をします。

test.html ファイル
<HTML><HEAD><TITLE>SendMail</TITLE>
</HEAD><BODY BGCOLOR=#FFFFFF>
<FORM ACTION=send.asp METHOD=POST>
Subject:<INPUT TYPE=TEXT NAME=subject><P>
Body:<TEXTAREA NAME=body ROWS=5 COLS=50></TEXTAREA>
<INPUT TYPE=SUBMIT VALUE=SendMail>
</FORM>


<%
'======================== send.asp ========================
'  メールを送信します
'    パラメータ
'      subj : サブジェクト
'      body : 本文
'=============================================================
   Set bobj = Server.CreateObject("basp21")
   svname = "your smtp server"
   mailto = "馬場さん<foo@foo.com>"
   mailfrom = "ばば<foo@foo.com>"
   subj = Request.Form("subject")
   body = Request.Form("body")
   rc = bobj.SendMail(svname,mailto,mailfrom, subj,body,"")
%>
<HTML><HEAD><TITLE>TEST Result</TITLE>
</HEAD><BODY BGCOLOR=#FFFFFF>
End of Test =
<%= rc %><BR>
<%= subj %><BR>
<%= body %><BR>


SendMailメソッドのサーバ名は何を指定したらいいの

サーバ名とはSMTPプロトコルをサポートしたメールサーバソフトが 動作しているマシン名です。インターネットメールサーバ名ともいいます。 次に名前が正しいかどうか確認する方法を説明します。
BASP21 DLLをインストールしたマシンでコマンドプロンプトに入ります。
telnet コマンドをサーバ名とポート番号25で実行します。
> telnet server 25
これで次のような応答が返ってくれば正しいサーバ名です。
220 xxxxxxxxxxxxxxxxxx ESMTP Sendmail 8.8.7/xxxxx ready at Sat, 29 Nov 1997
10:21:26 +0900

SMTPコネクションを切断するには quit コマンドを打ちます。
> quit


ディレクトリの内容を表示したい

ディレクトリの内容を表示します。ファイルのサイズも表示します。

<%
'======================== readdir.asp ========================
'  ディレクトリの内容を表示します
'    パラメータ
'      name : ディレクトリ名
'=============================================================
   Set bobj = Server.CreateObject("basp21")
   name = Request.QueryString("name")
   if name = "" then name = Request.Form("name")
   if name = "" then name ="c:\*.*"
                               ' ディレクトリのみなら*.*を追加
   if bobj.FileCheck(name) = -2 then name = name & "\*.*"
   farray = bobj.ReadDir(name)
   if IsArray(farray) then
     pos = InstrRev(name,"\")
     dirname = Left(name,pos)
     ctr = Ubound(farray)
     for i = 0 to ctr
       fullname = dirname & farray(i)
       if bobj.FileCheck(fullname) = -2 then
          str = str & "<A HREF=readdir.asp?name=" & _
                Server.URLEncode(fullname) & ">" & _
                farray(i) & "</A><BR>" & chr(10)
       else
          str = str & farray(i) & " size=" & _
                bobj.FileCheck(fullname) & "<BR>" & chr(10)
       end if
     next
   else
     str = name & " not found"
   end if
%>
<HTML><HEAD><TITLE>ReadDir Display</TITLE>
</HEAD><BODY BGCOLOR=#FFFFFF>
<FORM ACTION=readdir.asp METHOD=POST>
Dir name:<INPUT TYPE=TEXT NAME=name><P>
<INPUT TYPE=SUBMIT VALUE=Display>
</FORM>
<H1>Dir Display(<% = dirname %>)</H1>
<%= str %><BR>



フォームから入力された全角英数字を半角に変更するには

Translateメソッドを使います。
   Set bobj = Server.CreateObject("basp21")
   body = Request.Form("body")
   bobj.Translate "tr/0-9/0-9/k",body,temp   ' 全角数字を半角数字
   bobj.Translate "tr/A-Z/A-Z/k",temp,temp2   ' 全角英字を半角英字
   bobj.Translate "tr/a-z/a-z/k",temp2,newbody  ' 全角英小文字を半角英小文字
   

フォームから入力されたデータを数字のみかどうかを調べるには

Translateメソッドを使います。
   Set bobj = Server.CreateObject("basp21")
   field1 = Request.Form("field1")
   bobj.Translate "tr/0-9/0-9/k",field1,temp  ' 全角数字を半角数字
   badctr = bobj.Translate("tr/0-9//dck",temp,temp2)       ' 数字以外を取去る
   ' badctr には数字以外の文字数が入ります。 temp2 には数字のみが入ります。

イメージをランダムに表示するには

ディレクトリ内のイメージファイルをランダムに表示する スクリプトを示します。
<HTML>
<HEAD><TITLE>Display Image</TITLE></HEAD>
<BODY>
This page will display the image using BASP21 BinaryRead Method.<BR>
<IMG SRC="showimage.asp?p=<%= Server.URLEncode("d:\jpg6") %>">
</BODY>
</HTML>

<%
'======================== showimage.asp ========================
'  ディレクトリの内容を表示します
'    パラメータ
'      p : 表示するファイルのディレクトリ名
'=============================================================
   dirname = Request("p")  ' directory name to be displayed
   Set bobj = Server.CreateObject("basp12")
   ' ディレクトリ内のファイルをReadDirメソッドでfarrayに設定します
   farray = bobj.ReadDir(dirname & "\*.*")
   Randomize
   rno = Int((Ubound(farray) + 1) * Rnd)
   ' ファイル名をランダムに選択して BinaryReadメソッドで読込みます
   barray = bobj.BinaryRead(dirname & "\" & farray(rno))
   ' 最後にイメージを出力します
   Response.BinaryWrite barray
%>

プログラムコードのご使用上の注意

●プログラムコードを使って発生した損害に関しては、一切の責任を負いません。
●使用、配布に制限はありません。自由にお使いください。
●動作の保証はありません。
●動作を確認したOSは、Windows NT 4.0 とWindows 95のみです。

Home


Copyright 1997 Tatsuo Baba,All rights reserved.