HOWTO · Batch

バッチスクリプトからメールを送信

このチュートリアルでは、バッチスクリプトを使用してメールを送信する方法を説明します。

このページの内容

バッチスクリプトを介して電子メールを送信する場合は、この記事に従うことができます。

PowerShell を使用してバッチスクリプトから電子メールを送信する

この記事では、コマンドプロンプトと Windows PowerShell を使用して簡単なメールを送信します。しかし、私たちのコードは主に Windows PowerShell に基づいています。これは、バッチスクリプトに非常によく似ており、バッチスクリプトでも実行できます。

以下で共有されるコードの一般的な形式は、特定の宛先にメールを送信できます。

Send-MailMessage
-To "Receiver's email address"
-From "Sender's email address"
-Subject "Subject of the message"
-Body "Your message body here"
-Credential (Get-Credential)
-SmtpServer "smtp.YourServer.com"
-Port 587

次に、好みに応じてコードを編集すると、サンプルコードは次のようになります。以下に、alen@gmail.com から steve@gmail.com にメールを送信する例を示します。

Send-MailMessage
-To "steve@gmail.com"
-From "alen@gmail.com"
-Subject "Email to Steve"
-Body "Hi Steve, What's going on?"
-Credential (Get-Credential)
-SmtpServer "smtp.gmail.com"
-Port 587

これは、PowerShell の電子メール送信スクリプトの最も基本的な外観です。次に、例の各行で何が起こるかを見てみましょう。

Send-MailMessage は、送信者の電子メールアドレス、受信者の電子メールアドレス、電子メールの件名、電子メールの本文、サーバーの詳細、サーバーポートなど、電子メールの構成と設定全体を保持します。

-To "steve@gmail.com"にメールの宛先を設定します。ここに受信者​​の電子メールアドレスを含めました。

-"alen@gmail.com"からは送信者の電子メールアドレスを保持します。ここにサーバーのメールを含めました。この行の -Subject "Email to Steve" には、メールの件名を指定しました。

-Body "Hi Steve, What's going on?" という行には、メールのメッセージ本文全体が含まれます。 -Credential (Get-Credential) 行は、ユーザー名、パスワードなどのセキュリティ資格情報のセットを提供する PSCredential オブジェクトを作成するためのものです。

Get-Credential は、クレデンシャルオブジェクトを作成する PowerShell コマンドレットです。これで、-SmtpServer "smtp.gmail.com"という行が、電子メールの SMTP サーバーを提供します。

要件や好みに応じて、これらの設定をカスタマイズできます。最後の行 -Port 587 は、ポート番号を追加します。

このプログラムを実行すると、ポップアップウィンドウが開き、ユーザー名やパスワードなどの必要なセキュリティ資格情報を取得します。以下では、コマンドプロンプトで PowerShell スクリプトを実行する方法について説明しました。

その方法に従って、コマンドプロンプトで PowerShell スクリプトを実行できます。

コマンドプロンプト環境で PowerShell スクリプトを実行する

コマンドプロンプトで PowerShell スクリプトを実行するのは非常に簡単です。まず、管理者としてコマンドプロンプトを実行する必要があります。

PowerShell と入力し、Enterを押します。これで、コマンドプロンプトで PowerShell 環境が有効になります。

次に、上記の例に基づいて最近作成したコードをコピーし、Enterを押します。続行する前に、ユーザー名やパスワードなどの必要なセキュリティオプションを提供する必要がある場合があります。

SMTP サーバーの要件に基づいて、プログラムを実行する前にそれらの一部を変更する必要がある場合があります。