バッチファイルのメールの本文で改行
以前にご紹介したバッチファイルのメールで改行できるようにしました。
@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="件名を入力してください: "
echo 内容を入力してください。終了するには "." のみを入力してEnterを押してください。
set "body="
:loop
set /p line=""
if "%line%" == "." goto endbody
set "body=!body!!line!`r`n"
goto loop
:endbody
:: 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
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?