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形式での送信まで、多岐にわたる処理が可能です。ただし、セキュリティ面でも注意が必要です。この知識を活かして、業務の効率化や自動化に貢献しましょう。
コメント