トップ アイコン

トップページヘもどる

ScriptMail サンプル


ScriptMail バージョン Ver1.15 Windows2000Pro/Server上にて検証

サンプル1 TekuMailを利用してPCWindowswin.iniをメールにして送り返す例

サンプル2 TekuMailを利用してPCデイレクトリ一覧を取得してメールにして送り返す例

サンプル3 TekuMailを使用した添付ファイルでデータを送り返す例

サンプル4 定型実行モードとUWSCを使った例

サンプル5 定型実行モードとPerlを使ってVectorの作者側ライセンス登録処理を自動化する例

------------------------------------------------------------------------------------

サンプルの基礎条件(メールアドレスは実在しません)

     

     






サンプル1

TekuMail
を利用してScriptMailが上記の条件で実行されているPCWindowswin.ini
をメールにして送り返すスクリプトです。
途中の copy TekuMail.* c:\WinNT は次の行(TekuMail....)を実行するために必要
ではありませんが入れてあれば、次回のメールからTekuMail.exeおよびTekuMail.iniを添付
する必要がなくなります。
   
最後のpauseは実行状況を見るために入っています
。実際に使う場合は取り除いてください。

メール
 From       Sender@test.jp
 To          Receive@xxx.jp
 件名       TEST1 
 添付ファイル   TekuMail.exeおよびTekuMail.ini
 
 本文
-------------------------------------------------------------------------------------------------
 TEST2

 set FROM=Receive@xxx.jp
 set TO=Sender@test.jp

 if not exist C:\WinNT\win.ini goto skip1

 # WindowsNT/2000の場合

 copy TekuMail.* C:\WinNT

 TekuMail %TO% %FROM% "TEST" C:\WinNT\win.ini

 goto skip9

 :skip1

 if not exist C:\Windows\win.ini goto skip9

 # Windows98/ME/XPの場合

 copy TekuMail.* C:\Windows

 TekuMail %TO% %FROM% "TEST" C:\Windows\win.ini

 :skip9

 pause
-------------------------------------------------------------------------------------------------




サンプル2

TekuMailを利用してScriptMailが上記の条件で実行されているPCデイレクトリ一覧
を取得して
メールにして送り返すスクリプトです。
  
最後のpauseは実行状況を見るために入っています
。 実際に使う場合は取り除いてください。

メール

 From       Sender@test.jp
 To          Receive@xxx.jp

 件名       TEST1 
 添付ファイル   TekuMail.exeおよびTekuMail.ini
 
 本文
-------------------------------------------------------------------------------------------------
 TEST2

 set FROM=Receive@xxx.jp
 set TO=Sender@test.jp

 // デイレクトリ一覧の取得
 dir c:\ > c:\temp\dir.txt

 // メールとして送り返す
 TekuMail %TO% %FROM% "DIR.TXT" C:\temp\dir.txt
 // 送り返した後は削除
 del c:\temp\dir.txt

 pause
---------------------------------------------------------------------------------------------------





サンプル3

TekuMailを使用した添付ファイルでデータを送り返す例
  

  OKを入力することで、TekuMail.exeと同じフォルダにTekuMail.iniファイルが
  作成されます。

メール

 From       Sender@test.jp
 To          Receive@xxx.jp

 件名       TEST1 
 添付ファイル   TekuMail.exeおよびTekuMail.ini
 
 本文
-------------------------------------------------------------------------------------------------

TEST2
 set FROM=Receive@xxx.jp
 set TO=Sender@test.jp

 // デイレクトリ一覧の取得
 dir c:\ > c:\temp\dir.txt
 // 添付ファイル付きメール、本文は空白で送り返す
 TekuMail %TO% %FROM% "Return From %FROM%" nul C:\temp\dir.txt
 // 送り返した後は削除
 del c:\temp\dir.txt
 pause
-------------------------------------------------------------------------------------------------



サンプル4

定型実行モードとUWSC(自動実行ソフトウエア)
を使用して、送り込んだメールの内容を解析してメモ帳に一行ずつ追加する。

準備
 以下のようにScriptMailのアカウント#1の設定を行う


C:\ScriptにUWSC.EXEおよび、以下のUWSC用スクリプト test.uwsを入れておく

test.uws
------------------------------------------------------------------------------
// 受信した本文をファイル化したbody.txtを開く
fp=FOPEN( "C:\temp\body.txt", F_READ)
ifb fp>=0 // もし、存在すれば処理
// もしlog.txtが無ければ作成
 ff=FOPEN("c:\script\log.txt",F_EXISTS)
 ifb ff=False
  ff=FOPEN("c:\script\log.txt",F_WRITE)
  FCLOSE(ff)
 endif
 // メモ帳起動
 DOSCMD("notepad c:\script\log.txt",True)
 WpID= GETID("メモ帳")
 i=1 // 行数
 // 住所を見つけるまで、最大100行目まで読む
 repeat
  data=FGET(fp,i)
  n=POS("住所:",data)
  ifb n>=1
   // 文字「住所:」が見つかったので、それをメモ帳へ送り込む
   SendStr(WpID,copy(data,n+5,length(data)-4-n)+"<#TAB>")
  endif
  i=i+1
 until (n>=1 or i>100)
 // 名前を見つけるまで、最大100行目まで読む
 repeat
  data=FGET(fp,i)
  n=POS("名前:",data)
  ifb n>=1
   // 文字「名前:」が見つかったので、それをメモ帳へ送り込む
   SendStr(WpID,copy(data,n+5,length(data)-4-n)+"<#TAB>")
  endif
  i=i+1
 until (n>=1 or i>100)
 SendStr(WpID,"<#CR>") // 改行を送る
 FCLOSE(fp)
 // ファイルを上書き保存してnotepadを閉じる
 ClkItem(WpID, "ファイル",CLK_MENU)
 ClkItem(WpID, "上書き保存",CLK_MENU)
 CtrlWin(WpID, CLOSE) // メモ帖終了
endif
------------------------------------------------------------------------------

メール

 From       だれからでもOK
 To          Receive@xxx.jp

 件名       なんでもOK
 添付ファイル   なし
 
 本文 (最初の "アンケート解答"によって、有効なメールと判断)
-------------------------------------------------------------------------------------------------

アンケート解答


住所: 住んでいる所


名前: 実験 花子
-------------------------------------------------------------------------------------------------
結果的に c:\script\log.txt は以下のようになる
-------------------------------------------------------------------------------------------------
住んでいる所<TAB>実験 花子<CR>
住んでいる所<TAB>実験 太郎<CR>
        ・
        ・
        ・
        ・
-------------------------------------------------------------------------------------------------



サンプル5

定型実行モードとPerl For Win32(スクリプト言語)
を使用して、VECTORのライセンスコード発行依頼に自動返信する。

準備
 以下のようにScriptMailのアカウント#1の設定を行う


C:\ScriptにLicense.EXE(ユーザ名から解除コードを生成するソフト)、TekuMail.EXE および、
以下のPerlスクリプト vector.plを入れておく。
TekuMailの設定は、もし、POP before SMTPだったら、Normalで設定する。なぜなら、
ScriptMailがメールサーバーにアクセス中にTekuMailが呼び出されるため、
SMTPの前にPOPの必要はない。 逆に、TekuMailがPOPサーバーにアクセスに行くと
2重アクセスでエラーとなる。


vector.pl
------------------------------------------------------------------------------
#Perlスクリプトおよびソフトウエアの場所
$folder='c:/Script';
#ScriptMailが定型実行モードで保存したファイル
$body_txt = 'c:/temp/body.txt';
#Vectorへの送り返すメール本文
$reply_txt = "$folder/reply.txt";
#送り返した情報をCSVに蓄積するためのファイル
$csv_txt = "$folder/db.csv";
#送り返し先
$reply_email = 'shopkeyreg@vector.co.jp';
#送り返したメールのFROM
$from_email ='tekuteku999info@gmail.com';
#送り返す件名
$subject_txt = 'Re: [シェアレジ]ライセンスキー登録依頼';
#TekuMailの送信ログファイル
$email_log = "$folder/log.txt";

$soft='';

open BODY, $body_txt;
while($a = <BODY>) {
   chomp $a;
   $n=index($a,':');
   if($n>=0) {
      $ck=index($a,'お申込日');
      if( $ck>=0 ) { $date =substr($a,$n+2); }
      $ck=index($a,'お申込作品名');
      if( $ck>=0 ) { $soft =substr($a,$n+2); }
      $ck=index($a,'お申込番号');
      if( $ck>=0 ) { $number =substr($a,$n+2); }
      $ck=index($a,'利用者氏名 ');
      if( $ck>=0 ) { $simei =substr($a,$n+2); }
      $ck=index($a,'利用者氏名(よみ)');
      if( $ck>=0 ) { $simeiy =substr($a,$n+2); }
      $ck=index($a,'ご利用者e-mail');
      if( $ck>=0 ) { $email =substr($a,$n+2);last; }
   }
}


# #startから#softkeyまでをコピーする
open OUT, ">$reply_txt";

if($soft ne '') {
   while($a = <BODY>) {
      chomp $a;
      if(index($a,"#start")==0) {
         print OUT "$a\n";
         while($a = <BODY>) {
            chomp $a;
            print OUT "$a\n";
            if(index($a,"#softkey")==0) { last; }
         }
      }
   }
}
close BODY;

if($soft ne '') {
   # ライセンスコードを作る
   if($soft eq 'ScriptMail') {
#License.exeは名前を元にライセンスを生成するソフトなので公開できません。
      exec "$folder/License.exe \"$simei\" >./temp.___";
   }
   else {
#メール内容にScriptMailが無かったので、おかしいメールとして扱う
      $soft='';
   }

# 作ったライセンスを読み込む
   open LICENSE, "./temp.___";
   $license=<LICENSE>;
   chomp $license;
   close LICENSE;
   $status = unlink "./temp.___";
}
else {
   $license='';
}
#ライセンス生成エラーなら$softはクリアする
if (index($license,'Error')>=0) { $soft=''; }

print OUT "$softをご購入いただきありがとうございます。\n";
print OUT "ユーザ名、会社名、解除コードのセットでライセンスを認識します。 \n";
print OUT "特に名前と名字の間の空白などの全角、半角にご注意ください。 \n";
print OUT "(できれば、以下の情報をカット&ペーストしてください) \n\n";
print OUT "ユーザ名 $simei\n";
print OUT "会社名 (空白)\n";
print OUT "解除コード $license\n\n";
print OUT "最新バージョンやオプションソ\フトに関してはホームページ\n";
print OUT "http://hp.vector.co.jp/authors/VA035220/\n";
print OUT "をごらんください。\n";

print OUT "#softkey_end\n";
print OUT "#end\n";

close OUT;

#$softが空でなければ正常なのでメールを送る
if ($soft ne '') {
#VECTORへメール送信
   exec "$folder/TekuMail.exe $reply_email $from_email \"$subject_txt\" \"$reply_txt\" >>$email_log";
#自分へバックアップメール送信
   exec "$folder/TekuMail.exe $from_email $from_email \"$subject_txt\" \"$reply_txt\" >>$email_log";

#CSVデータへ追加
   open CSV, ">>$csv_txt";
   print CSV "\"$date\",\"$soft\",\"$number\",\"$simei\",\"$simeiy\",\"$email\",\"$license\"\n";
   close CSV;
}
else {
#おかしなメールだったのでバックアップメールとして自分に送信する
   if(open(CHECK,$body_txt)) {
      close CHECK;
      exec "$folder/TekuMail.exe $from_email $from_email \"BackUp\" \"$body_txt\" >>$email_log";
   }
}

exit;
----------------------------------------------------------------------------------------

メール

 From       VECTORから来るライセンス登録依頼メール
 To          tekuteku999info@gmail.com

 件名       [シェアレジ]ライセンスキー登録依頼
 添付ファイル   なし
 
 本文 (最初の "てくてく 様"によって、有効なメールと判断)
C:\temp\body.txt
----------------------------------------------------------------------------------------------------------------------------
てくてく 様

登録作品に対して下記のお申込みがありました。
至急、ライセンスキーをベクターレジサービスにご登録ください。

-----------------------------
お申込日            : 2003/09/02
キー登録期限        : 2003/09/09
-----------------------------
作品番号            : SR1234567
お申込作品名        : ScriptMail
-----------------------------
お申込番号          : XYZXXXXX
利用者氏名          : 大道 はじめ
利用者氏名(よみ)  : だいどう はじめ
ご利用者e-mail      : daidou@mail.goo.ne.jp
-----------------------------
利用者連絡欄        :



★ご注意★
・ライセンスキーは、必ずベクターレジサービスにご登録してください。
  登録されたライセンスキーは、お客様のお支払手続が完了した後、
  送信いたします。
・皆様より、お客様に直接ライセンスキーを送らないでください。
  (まだお客様はお支払手続を完了しておりません。)

★本メールへの返信で登録するには★
・ライセンスキーの登録は、本メールへの返信としても登録できます。
・返信メールで登録する時は、以下の#softkey〜#softkey_endの間に
  ライセンスキーを記入してください。
・なお、その際引用記号('> 'など)は付けないようお願いいたします。
・ライセンスキーがファイルの場合はそのファイルを返信メールに添付し、
  #softkey〜#softkey_endの間にファイル名を記入してください。
(ファイル名は、半角のアルファベットおよび英文字です。
  漢字、ひらがな、カタカナのファイル名は使用できません。)
・詳細はhttp://www.vector.co.jp/swauth/man/help/pagehelp09.htmlをご覧
  ください。


-----------------------------
メールによる登録の場合、#startから#endまでは必ず含めて送ってください。
#start
#auth_id SA12345678
#srnum SR1234567
#recno XYZXXXXX
#user_addr daido@mail.goo.ne.jp
#order_pw 789789
#comment ↓ライセンスキーを記入してください
#softkey

#softkey_end
#end
-----------------------------

==================
株式会社ベクター・レジ・センター
----------------------------------------------------------------------------------------------------------------------------

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送