HTML メールを送信する

さりげに一番難しかったのは [System.Net.Mime.MediaTypeNames+Text]::Html だった気がするのがw
クラス内クラスはこんな書き方になるようである.

$client = new-object System.Net.Mail.SmtpClient
$client.Host = "smtp.example.com"
$client.Port = 25
$client.DeliveryFormat = [System.Net.Mail.SmtpDeliveryFormat]::SevenBit

$message = new-object System.Net.Mail.MailMessage("From Address <foo@example.com>", "To Address <bar@example.com>")
$message.Subject = "HTML mail test"
$message.BodyEncoding = [System.Text.Encoding]::UTF8
$message.BodyTransferEncoding = [System.Net.Mime.TransferEncoding]::QuotedPrintable
$message.Body = "plain part"
$message.IsBodyHtml = $false

$view = [System.Net.Mail.AlternateView]::CreateAlternateViewFromString("<b>html part</b>", [System.Text.Encoding]::UTF8, [System.Net.Mime.MediaTypeNames+Text]::Html)
$view.TransferEncoding = [System.Net.Mime.TransferEncoding]::QuotedPrintable

$message.AlternateViews.Add($view)
$client.Send($message)