見出し画像

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の成果物がイキリオタクみたいなの、なんとかならんのかなぁ


#PowerShell #コマンドレット #メール送信 #Yahooメール #自動化 #プログラミング学習

この記事が気に入ったらサポートをしてみませんか?