複数にメールを送るバッチファイル
前提条件として、ファイルはデスクトップにおいて、Outlookをインストールしていることです。
ダラダラするのはいやなので。
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
:: メールの件数を入力
:ask_email_count
set /p email_count="送信するメールの件数を入力してください(1件~9件の間): "
if %email_count% lss 1 goto ask_email_count
if %email_count% gtr 9 goto ask_email_count
:: メールアドレス、件名、内容を入力するループ
for /L %%i in (1,1,%email_count%) do (
set /p recipient%%i="宛先のメールアドレスを入力してください(メール %%i): "
)
set /p subject="件名を入力してください: "
set /p body="内容を入力してください: "
:: PowerShellを使用してOutlookでメールを作成し、送信
for /L %%i in (1,1,%email_count%) do (
set recipient=!recipient%%i!
powershell -command "$Outlook = New-Object -ComObject Outlook.Application; $Mail = $Outlook.CreateItem(0); $Mail.To = '!recipient!'; $Mail.Subject = '%subject%'; $Mail.Body = '%body%'; $Mail.Send();"
)
echo メールが送信されました。
pause
endlocal