引数を指定してメールを送信する

スポンサーリンク

はじめに

SMTPサーバを使用してメールを送信します。メールを送信する時に必要なパラメータは6つあり、引数として設定します。

  • SMTPサーバの情報(IP or FQDN)
  • ポート番号
  • 送信元メールアドレス
  • 宛先メールアドレス
  • 件名
  • 本文

環境

OS:Windows10
.Net Framework:4.7
PowerShellのバージョン:5.1.17763.1007

ソースコード

SendMailP.ps1

#######################################################################################
# 概要:引数を指定してメールを送信します。
# 作成者:ITStudy
# 作成日:2020/07/08
# 必要なファイル:SendMailP.ps1(このファイルです)
#######################################################################################

Param(
  [Parameter(Mandatory=$true)]
  [ValidateNotNullOrEmpty()]
  [String]$smtp,
  [Parameter(Mandatory=$true)]
  [ValidateNotNullOrEmpty()]
  [ValidateSet("25","587")]
  [String]$port,
  [Parameter(Mandatory=$true)]
  [ValidateNotNullOrEmpty()]
  [String]$from,
  [Parameter(Mandatory=$true)]
  [ValidateNotNullOrEmpty()]
  [array]$To,
  [Parameter(Mandatory=$true)]
  [ValidateNotNullOrEmpty()]
  [String]$subject,
  [Parameter(Mandatory=$true)]
  [ValidateNotNullOrEmpty()]
  [String]$body)
$ErrorActionPreference = "SilentlyContinue"

try{
    # メール送信
    Send-MailMessage -SmtpServer $smtp -Port $port -From $from -To $to -Subject $subject -Body $body -Encoding UTF8

}Catch{
    $Error
}