0

基本的に私に電子メールを送信するWindows2003サーバー上で実行される単純なスクリプトを探しています。スクリプトをトリガーするためにWindowsサービスの自動回復マネージャーを実行する予定です。

このスクリプトの使用をトリガーする方法への参照を見つけました:Windowsサービスを監視する方法

しかし、Windowsプラットフォームで機能する電子メール送信スクリプトを作成するための助けが必要です。これに最適な言語はわかりません。ありがとう。

4

1 に答える 1

1

簡単な方法の1つは、javascript(またはVBscript)を使用することです。「Server.CreateObject( "CDO.Message")」をグーグルで検索すると、さらに多くの例が見つかります。

以下のコードを拡張子が「.js」のファイルに入れます。たとえば、email.jsを呼び出すには、コマンドラインで「cscriptemail.js」を使用します。サーバー名と電子メールを有効な値に置き換えます。

Windows2003にはCDOがインストールされている必要があります。このスクリプトは、Windows XPおよびサーバー2003で機能するために使用されました。この例では、ネットワーク経由でSMTPサーバーを使用していますが、他のオプションもあります。

Powershellはおそらくサーバー2003で利用できるので、別のオプションになる可能性があります。==============================コード=================== ===========

function sendMail(strFrom、strTo、strSubject、strMessage){try {
objMail = Server.CreateObject( "CDO.Message"); objConfig = Server.CreateObject( "CDO.Configuration"); objFields = objConfig.Fields;

    with (objFields) {          

Item( "http://schemas.microsoft.com/cdo/configuration/sendusing")= 2;
Item( "http://schemas.microsoft.com/cdo/configuration/smtpserver")= "xxxxsmtp.xxxserver.xxorg";
Item( "http://schemas.microsoft.com/cdo/configuration/smtpserverport")= 25;
Item( "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout")= 30;
アップデート(); }
with(objMail){
Configuration = objConfig; To = strTo; // "\" User \ "、" \ "AnotherUser \"; "From = strFrom; Subject = strSubject; TextBody =strMessage;//添付ファイルを送信する必要がある場合

    //AddAttachment("D:\\test.doc");
        Send();
    }           
}
catch(e) {
WScript.Echo(e.message);
    return false;
}   
delete objFields;
delete objConfig;
delete objMail;   
return true;

}

//WScript.Echo('qqq');

sendMail('from@xxxxxx.com'、'to@yyy.com'、'test'、'msg');

于 2011-07-30T01:11:04.450 に答える