
PowerShell Yahooメールを送信したい
PowerShellからYahooメールを送信するコードです。
# Yahooメールを送信
Add-Type -AssemblyName System.Web
#アカウント情報
$user = "" # Yahooアカウント名 @の前の部分
$password = "" # Yahooアカウントパスワード
#メール情報
$mail = New-Object System.Web.Mail.MailMessage
$mail.From = "" # 送信元
$mail.To = "" # 受信先
#メールタイトル
$mail.Subject = "PowerShellからのテスト送信"
#本文
$mail.Body = "PowerShellを使ってメールを送信しています。"
#添付ファイル1 フルパスで指定
$mail.Attachments.Add((New-Object System.Web.Mail.MailAttachment("c:\temp\test.txt", [System.Web.Mail.MailEncoding]::Base64))) | Out-Null
#添付ファイル2 フルパスで指定
$mail.Attachments.Add((New-Object System.Web.Mail.MailAttachment("c:\temp\test2.txt", [System.Web.Mail.MailEncoding]::Base64))) | Out-Null
$mail.Fields["http://schemas.microsoft.com/cdo/configuration/sendusing"] = 2
$mail.Fields["http://schemas.microsoft.com/cdo/configuration/smtpserver"] = "smtp.mail.yahoo.co.jp"
$mail.Fields["http://schemas.microsoft.com/cdo/configuration/smtpserverport"] = 465
$mail.Fields["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"] = 1
$mail.Fields["http://schemas.microsoft.com/cdo/configuration/sendusername"] = $user
$mail.Fields["http://schemas.microsoft.com/cdo/configuration/sendpassword"] = $password
$mail.Fields["http://schemas.microsoft.com/cdo/configuration/smtpusessl"] = $true
[System.Web.Mail.SmtpMail]::SmtpServer = "smtp.mail.yahoo.co.jp"
[System.Web.Mail.SmtpMail]::Send($mail)
このコードは、Windows PowerShell 5.1で動作します。
送信者情報とパスワードは、ご自身のYahoo! JAPANメールアカウントのものに置き換えてください。
Gmailより簡単なので、なにかの自動化にも使えそう。
Gmailでメール送信するときはこちらの記事を参照
自宅や会社のメールサーバから送信はこちら
メールをPowerShellで受信したいときは
Yahooメールへ送信するコードは最初AIに書いてもらったんですけど何度書き直しさせてもバグが取れず、結局自分で直しました。
AIの成果物がイキリオタクみたいなの、なんとかならんのかなぁ