まずはサンプルスクリプト。
Windows10のパソコンとWindows2012サーバでは実行可能確認済です。
お好みのファイル名に拡張子は「.vbs」で。
Set oMsg = CreateObject("CDO.Message")
Set objNetwork = CreateObject("WScript.Network")
strHostName = objNetwork.ComputerName
oMsg.From = "hi-system@foo.bar.com"
oMsg.To = "hogehoge@cyberagent.co.jp"
oMsg.Subject = "メール疎通テスト(送信元:" & strHostName & ")"
oMsg.TextBody = Now & vbCrLf & strHostName & "からのメール送信の疎通テストです"
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
"mail.foo.bar.com"
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
oMsg.Configuration.Fields.Update
oMsg.Send
CDO(Microsoft Collaboration Data Objects)という古い仕組みを使った簡易スクリプトです。
今やMicrosoftは非推奨ながら、テキストスクリプトで簡単に送信出来る利便性は捨てがたいですね。
最初の2行はおまじない。From~TextBodyがメールの文面に関わる箇所。
"http://schemas.microsoft.com/cdo/configuration/smtpserver"が送信メールサーバの指定です。
こういうのが必要だ、って探す方は、雰囲気でだいたい分かるのでしょうけど。
私もどこからで見つけた情報をもとにこれを作ったのですが、もう元サイトが見つけられませんでした。
改めて仕様を確認しようと思ってググっていたら、詳細に解説してくださっているサイト様を発見しました。
VBAでメール送信する(CDO:Microsoft Collaboration Data Objects)
VBA技術解説
https://excel-ubara.com/excelvba4/EXCEL233.html#SH9HlQx.twitter_responsive
結構色んなパラメータが設定出来るようですね。
前述のスクリプトはメール環境セットアップ後の確認でしか使った事なかったんですが、
ローカルなメールサーバだけでなく外部メールサーバ使っての送信も出来そう。
今さらあまり拘って調べるような事でも無いかも知れませんが、
インフラ構築にはいろんな制約がつきものなので、
標準機能の範囲で出来る事は押さえておきたいですね。