コマンドラインでメール送信する方法 (WindowsのバッチでSMTP通信) – 主に言語とシステム開発に関して

WSH

send_mail.js

// メール送信モジュール////   cscript //nologo send_mail.js "件名" "本文"// 引数を取得var mail_subject = WScript.Arguments.Unnamed(0);var mail_body    = WScript.Arguments.Unnamed(1);// 設定項目var from_mail_address = "メール送信元のメールアドレス";var to_mail_addresses = "メール送信先のメールアドレス(半角カンマ区切り)";var smtp_server_name  = "メール送信サーバ名";// -------- ローカルマシンでのコマンドの実行結果を取得する関数 --------var ws = WScript.CreateObject("WScript.Shell");// コマンド実行結果を行ごとに配列として取得function cmd_output_arr( str_cmd ){        // コマンド実行        var proc = ws.Exec( "cmd /c " + str_cmd );                // 終了まで待つ        while( proc.Status == 0 )        {                WScript.Sleep(100);        }                // 出力を取得        var str_out = proc.StdOut.ReadAll();                // 末尾の空行を削除        var arr = str_out.split("rn");        arr.pop();                return arr;}// コマンド実行結果を文字列として取得function cmd_output( str_cmd ){        return cmd_output_arr( str_cmd ).join("rn");}// -------- メイン処理 --------var mail = WScript.CreateObject("CDO.Message");var schemas = "http://schemas.microsoft.com/cdo/configuration/";// メール内容に関する設定mail.From     = from_mail_address;mail.To       = to_mail_addresses;mail.Subject  = mail_subject;mail.TextBody = mail_body + "rnrn"        + "日時:"     + cmd_output( "@echo %DATE% %TIME%" )  + "rn"        + "マシン名:" + cmd_output( "@hostname" )            + "rn"        + cmd_output( '@ipconfig | findstr /C:"IP Address"' ) + "rn";mail.TextBodyPart.Charset = "ISO-2022-JP";// メール送信に関する設定(XP Proなら不要)mail.Configuration.Fields.Item( schemas + "sendusing" ) = 2;mail.Configuration.Fields.Item( schemas + "smtpconnectiontimeout" ) = 30;mail.Configuration.Fields.Item( schemas + "smtpserver" ) = smtp_server_name;mail.Configuration.Fields.Item( schemas + "smtpserverport" ) = 25;mail.Configuration.Fields.Update();// 送信mail.Send();

これだけあれば,コマンドラインからメール送信できる。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中