Windowsのコマンドプロンプトからメールを送信

リダイレクトして telnetの入力に直接 SMTPコマンドを流し込めばできるんでないの,と思って試してみたらどうも DOSのリダイレクトはそういうことはできないらしい(やり方が間違っているだけかもしれないけど)。代替案がないかと調べてみると WSHを使えば可能らしいことが分かり,試したところうまくいったのでメモ。

Windows標準機能とWSHを使ってメールを送信する
http://www.atmarkit.co.jp/fwin2k/win2ktips/428wshmail/wshmail.html

まず,以下のような vbsファイルを作成する。ファイル名は mail.vbsで保存。

Set oMsg = CreateObject("CDO.Message")
oMsg.From = "mailsender@example.co.jp"
oMsg.To = "user@example.co.jp"
oMsg.Subject = "Test "
oMsg.TextBody = "テストメッセージです" & vbCrLf & Now
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
"smtp.example.co.jp"
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
oMsg.Configuration.Fields.Update
oMsg.Send

後はコマンドプロンプトから cscriptで実行するだけ。

D:\WSH> cscript mail.vbs

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください