1
0

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で添付ファイル付きのメール送りたいッ!!

Posted at

概要

日時jobで作成されるファイルを毎日特定の宛先にメールで添付して送るJobつくりたい。
そんな要件あったりしませんか?

…。

あったりしませんか?

ということで、Powershellを使って添付ファイル付きのメールを送るスクリプトを作成しました。

もっといいやり方あると思います、処理がスムーズに行くとかね。
でもいいの、もっとPowershell使いこなせるようになったらいい方法探してみる!
ということで優しいまなざしでご覧くださいませ。

簡易構成とメール送信の流れ

image.png
Powershellスクリプト実行用サーバとしてEC2と、AmazonSESをSMTPサーバとして利用し
メールを外部へ送信する構成というものになります。

.ps1について

今回はSMTPサーバとしてAWS上のSESを利用しています。
スクリプト本体に記載のある以下の変数についてはそれぞれの構成にあったSMTPサーバ等をご指定ください。

変数
$SMTP_server
$Port
$User
$Password
sendmail.ps1
# メールを指定する変数
$From                    ="送信元サーバに表示したいメールアドレス"
$To                      = "メール送信先"
$Cc                      = "メール送信先CC"
$Subject                 ="任意の件名"
$Body                    ="本文"

# 添付ファイルを指定する変数
$File_path               = "添付したいファイルが存在するパスを記述"
$File_name               = "添付したいファイルを記述"
$File                    = $File_path +"\$File_name"

# SMTPサーバを指定する変数
$SMTP_server             ="email-smtp.ap-northeast-1.amazonaws.com"
$Port                    ="利用するポートを記述"
$User                    ="Amazon SESユーザー名記述"
$Password                ="Amazon SESパスワード"
$SMTP_client             =New-Object Net.Mail.SmtpClient($SMTP_server,$Port)
$SMTP_client.EnableSsl   =$true
$SMTP_client.Credentials =New-Object Net.NetworkCredential($User,$Password)

# メールメッセージの作成
$Mail_massage=New-Object Net.Mail.MailMessage($From,$To,$Subject,$Body)
$Mail_massage.Cc.Add($Cc)
# ファイルから添付ファイルを作成
$Attachment=New-Object Net.Mail.Attachment($File)
# メールメッセージに添付
$Mail_massage.Attachments.Add($Attachment)
# メールメッセージを送信
$SMTP_client.Send($Mail_massage)

ここまできたら

ここまでくりゃもうあとはタスクスケジューラやら、JP1/AJSやらで煮るなり焼くなりです!

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?