0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PowerShellからOutlookでメールを送付するスクリプト

Last updated at Posted at 2023-10-14

0. 動機

定期的にダウンロードされるファイルをメールで送付して、それをトリガーにPower Automate(PAC)でTeamsに投稿できたら色々捗るかなと思って作ってみました。

1. 元ネタ

下記Youtubeのスクリプトから。
こちらでは関数にメール作成の機能を入れていたり、GetInspectorプロパティでメール送信前に一度目視でメールの内容を確認したりしているのですが、スクリプト起動したらすぐメール送れるようにしました。

余談ですが上記miajimyuさんの一連のPowerShell講座は私のようなIT初心者にはとてもいいと思います。

2. スクリプト

#日付の取得
$today = Get-Date -Format "yyyyMMdd"

#メールの内容記載
$To = "xxx@hotmail.com" #アドレスはサンプル
$CC = $null
$Subject = "Test Mail by PowerShell sent on $today"
$Body = "Test Message by PowerShell"

#メールの作成と送付
$outlook = New-Object -Comobject Outlook.Application
$mail = $Outlook.CreateItem(0)
$mail.To = $To
$mail.CC = $CC
$mail.Subject = $Subject
$mail.Body = $Body
$mail.Attachments.Add("C:\Users\Username\Downloads\Sample.xlsx") #添付ファイルの完全パス
$mail.Send()

#メモリ解放...間違ってたらすみません
$mail = $outlook = $null
[GC]::Collect()  

3. 出力

上記スクリプト実行すると下記のようなものが送付されます。
このメールのタイトルなどをトリガーにPACを作るとWeb系のアプリとの連携ができると思います。
image.png

4. 終わりに

基本自分用メモですがどこかの誰かの役に立てば幸いです。

作成したスクリプトをすぐに起動したい場合には下記2つの記事でできる設定をしておくと楽だと思います。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?