PowerShellを使ってメールを自動送信する方法

PowerShellを使ったメール自動送信は、業務の効率化や自動化に有用なスキルです。この記事では、初心者にもわかりやすく、PowerShellを使ってメールを自動送信する方法を紹介します。さらに、この技術の応用例や、より深い知識についても触れます。

目次

基本的なメール送信のスクリプト

PowerShellでメールを送信する一番基本的な方法について解説します。

Send-MailMessageコマンドレット

PowerShellにはSend-MailMessageというコマンドレットがあります。このコマンドレットを使って、基本的なメール送信が可能です。

# SMTPサーバーのアドレス
$smtpServer = "smtp.example.com"

# メール送信者のアドレス
$from = "sender@example.com"

# メール受信者のアドレス
$to = "receiver@example.com"

# メールの件名
$subject = "テストメール"

# メールの本文
$body = "これはテストメールです。"

# Send-MailMessageコマンドでメール送信
Send-MailMessage -SmtpServer $smtpServer -From $from -To $to -Subject $subject -Body $body

このスクリプトを実行すると、指定したSMTPサーバーを通じてメールが送信されます。

パラメーターの説明

  • $smtpServer: SMTPサーバーのアドレスを指定します。
  • $from: 送信者のメールアドレス。
  • $to: 受信者のメールアドレス。
  • $subject: メールの件名。
  • $body: メールの本文。

メール送信の応用

添付ファイルを送る

-Attachmentsパラメータを使って、添付ファイルを送ることもできます。

# 添付するファイルのパス
$attachment = "C:\path\to\file.txt"

# Send-MailMessageコマンドでメール送信
Send-MailMessage -SmtpServer $smtpServer -From $from -To $to -Subject $subject -Body $body -Attachments $attachment

HTML形式で送る

-BodyAsHtmlパラメータを使って、HTML形式でメール本文を送ることもできます。

# HTML形式のメール本文
$bodyHtml = "<h1>これはテストメールです。</h1>"

# Send-MailMessageコマンドでメール送信
Send-MailMessage -SmtpServer $smtpServer -From $from -To $to -Subject $subject -Body $bodyHtml -BodyAsHtml

補足:セキュリティ面での注意

メール送信スクリプトを作る際には、セキュリティ面での注意が必要です。特にSMTP認証情報(ユーザー名とパスワード)は、コード内にベタ書きせずに、環境変数や設定ファイルから読み取るようにしましょう。

まとめ

PowerShellを用いて、簡単なメール送信から添付ファイルやHTML形式での送信まで、多岐にわたる処理が可能です。ただし、セキュリティ面でも注意が必要です。この知識を活かして、業務の効率化や自動化に貢献しましょう。

コメント

コメントする

目次