見出し画像

バッチファイルのメールの本文で改行

以前にご紹介したバッチファイルのメールで改行できるようにしました。

YouTubeにアップしていますので、ぜひ。

@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

この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?