Windowsコマンドプロンプトでメール送信!VBScriptとsmail.exe解説

WindowsのMS-DOSコマンドプロンプトからメールサーバーを使ってメールを送信するには、Windows標準機能のWSH(Windows Script Host)を使ったVBScriptを利用する方法や、フリーソフトを使う方法があります。

具体的には、WSHのCDO.Messageオブジェクトを使ってメール送信スクリプト(例:mail.vbs)を作成し、それをコマンドプロンプトで次のように実行します。

textcscript mail.vbs

このスクリプト内で、送信元(strFrom)、送信先(strTo)、SMTPサーバの設定やメールの件名・本文などを指定します。GmailなどのSMTPサーバを使う場合はGmailの認証設定も必要です。

また、フリーソフト「smail.exe」を使えば、コマンドラインで簡単にメールの送信が可能です。batファイルに以下のようなコマンドを書いて送信します。

text"パス\smail.exe" -hsmtp.gmail.com -f送信者メールアドレス -s"件名" -F本文ファイル -a添付ファイル 送信先メールアドレス -d -i

ここで

  • -h:SMTPサーバ名
  • -f:送信者メールアドレス
  • -s:件名
  • -F:本文ファイル名
  • -a:添付ファイル名(オプション)
  • -d-i:デバッグや情報表示オプション

などのパラメータを指定します。

さらに、メール本文をテキストファイルで用意し、スクリプトで読み込んで送信する例もあります。

まとめると、Windowsのコマンドプロンプトからメール送信する代表的な方法は次の2つです。

方法概要実行例
WSH VBScript利用CDO.Messageを使うWindows標準のスクリプトでSMTP経由送信cscript mail.vbs
smail.exeフリーソフト国産コマンドラインメール送信ソフトを使う"smail.exe" -h smtp.gmail.com -f xxx@xxx.com -s "件名" -F body.txt -a attach.zip xxx@yyy.com

Windows標準でのVBScript利用は拡張性がありますが設定やスクリプトの準備が必要です。smailなど専用ツールを使えば手軽に送信設定ができます。ただしGmailなどのサーバはセキュリティ設定が厳しいため、必要に応じて「安全性の低いアプリの許可」や「アプリパスワード」の設定が必要です。

この記事の構成例としては、

  1. MS-DOSコマンドプロンプトとは
  2. メール送信の仕組み(SMTPサーバ利用)
  3. Windows標準WSHを使ったVBScriptサンプルの解説(送信元・送信先・SMTP設定、コマンド実行方法)
  4. フリーソフト「smail.exe」を使った命令例と設定ファイルの紹介
  5. Gmailなどを利用する場合の注意点(安全性設定や認証)
  6. 実際に送信する際のバッチファイル例
  7. トラブルシューティング(接続確認・エラー対応)

を具体的なコマンド例やスクリプトのコード付きで説明すると読者にわかりやすい記事になります。

補足もし必要でしたら詳細なVBScriptの例文やbatファイルに書くコマンドのテンプレートなども作成しますのでお知らせください。

【参考】
Windowsのコマンド実行でメール送信(WSH利用)
コマンドプロンプトからメール送信方法(smail.exe使用例)
Windowsでスクリプトから添付ファイル付きメール送信

タイトルとURLをコピーしました