- - PR -
質問なのですが windowsサーバでのSMTPについてですが
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-11-06 15:56
windows2000サーバで mail@ドメイン名のところに メールが来て mail@ドメイン名にメールを受けたとき プログラムを動かしたい場合どのようにすればいいのか 悩んでまして
前までは linuxでメールサーバを立てて echo '|"/usr/bin/perl /var/www/html/kids/mail1.pl"' > /home/requestkids/.forward .forwordに記述してたのですが この度 windows2000サーバでも出来るかなと言われまして いろいろ調べたのですが vb系のところで メールの到着をスクリプトに渡すと書かれてて メールの到着に合わせてスクリプトを実行させる必要があります。 そのため smtpreg.vbsのスクリプトファイルを利用してSMTPのイベントに合わせて動作するように設定しますとあったのですが サンプルリスト C:\temp>cScript smtpreg.vbs /add 1 onarrival SMTPScriptingHost CDO.SS_SMTPOnArralSink "mail from=*" Microsoft (R)Windows Script Host Version 5.1 for Windows Copy・・・ Binding Display Name Specified: SMTPScriptingHost Assigning priority 24575 in 32767 ) ** SUCCESS ** Registered Binding: Event Name :SMTP Transport OnSubmission Display Name:SMTPScriptingHost Binding GUID:{DBB33992-DEF8-46BC-BD7D-0F00D37293F0} ProgID :CDO.SS_SMTPOnArrivalSink Rule :mail from=* Priority :24575 (0 - 32767, default: 24575) comCatID :{FF3CAA23-00B9-11d2-9DFB-00C04FA322BA} C:\temp>cScript smtpreg.vbs /setprop 1 onarrival SMTPScriptingHost Sink ScriptName "c:\temp\sinkScript.vbs" Microsoft (R)Windows Script Host Version 5.1 for Windows Copy・・・ Binding Display Name Specified: SMTPScriptingHost set property ScriptName to c:\temp\sinkScript.vbs このサンプルでどのような作業になってるのかが分からないです すいませんが 教えていただけないでしょうか。 質問ばかりですいません |
|
投稿日時: 2004-11-23 01:43
はじめまして。
初めての投稿なので不備があるかもしれませんが・・・ 例えばバッチファイルでcscriptを走らせ、以下の様なレジストレーションを行います。 cscript ..\lib\smtpreg.vbs /add 2 onarrival SMTPScriptingHost CDO.SS_SMTPOnArrivalSink "RCPT TO=bar" cscript ..\lib\smtpreg.vbs /setprop 2 onarrival SMTPScriptingHost Sink ScriptName "C:\InetPub\scripts\auto_reply\auto_reply.vbs" bar@ドメインへメールが来たとします。その受信したメールが指定されたディレクトリへドロップされる前にメールの内容をトラップするイベントです。 OnArrivalとはメールがドロップされる前に発生するイベントです。 上記の場合、bar@ドメインへ送られたメールがドロップされる前にauto_reply.vbsで処理をするというものなので、簡単に言ってしまえばこのイベントでキャプチャしたメールをauto_reply.vbsで差出人や件名、本文などを分析して自動的に返信するシステムなどを作ることができるというものです。 ヤマダさんの例で言うなら >C:\temp>cScript smtpreg.vbs /add 1 onarrival SMTPScriptingHost CDO.SS_SMTPOnArralSink "mail from=*" mail from=*とはワイルドカードなので「全ての受信メール」に対して起きるイベントとなり >C:\temp>cScript smtpreg.vbs /setprop 1 onarrival SMTPScriptingHost Sink ScriptName "c:\temp\sinkScript.vbs" 誰からでもいいからメールを受信したら指定されたディレクトリへドロップされる前にc:\temp\sinkScript.vbsを走らせる。と言うわけですね。 参考としましては Sub ISMTPOnArrival_OnArrival(ByVal Msg, EventStatus )と言うのがメール着信時に呼ばれるハンドリング関数で "mail from=差出人" であるとか "RCPT TO=宛先" などでイベントをレジストするわけですが、宛先でレジストするとユーザーを増やすことなく(CALに関係なく)仮想的にユーザーを増やせると言う、まるで裏技的なことまで出来てしまうのでご参考までに・・・ 【参考URL】 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/_cdosys_about_cdo_for_windows_2000.asp http://support.microsoft.com/default.aspx?scid=kb;ja;JP324021 お役に立てたでしょうか? [ メッセージ編集済み 編集者: nic 編集日時 2004-11-23 03:10 ] [ メッセージ編集済み 編集者: nic 編集日時 2004-11-23 03:11 ] [ メッセージ編集済み 編集者: nic 編集日時 2004-11-23 03:12 ] [ メッセージ編集済み 編集者: nic 編集日時 2004-11-23 03:13 ] |
1
