プログラミング

【Powershell】Powershellでメールをおくる方法

※はてぶから引っ越しました。

最近「powershell」でバッチを作ることにはまっているので、「powershell」関連をちょこちょこ書いていこうかと思います!

Powershellでメールを送る方法

さっそく、powershellで、メールを送る方法ですが

Send-MailMessage この一文だけでOK。

powershellはいろいろ命令がそろっているのでホント便利ですよね。
下記サイト参考にさせていただきました。
tech.lecume.net

こんな感じで使ってます。
※スマホでご覧の方は横にスワイプしてください。

#メール送信
Send-MailMessage -To $to -From $from -Cc $Cc -SmtpServer $smtp -Subject $subject -Body $body -Encoding ([System.Text.Encoding]::UTF8)

引数を追加すると最終的にこんな感じです。

# 宛先メールアドレス
$to = "宛先@宛先.com"

# 送信元メールアドレス
$from = "送信元@送信元.com"

# Cc
$Cc = "CC@CC.com"

# SMTPサーバー(IP、ホスト名どちらでも)
$smtp = "SMTP.com"

# 件名
$subject = "件名"

# 本文
[string]$body = @()
$body += "1行目n`n"
$body += "2行目`n`n"
$body += "3行目`n`n"
$body += "4行目`n`n"

#メール送信
Send-MailMessage -To $to -From $from -Cc $Cc -SmtpServer $smtp -Subject $subject -Body $body -Encoding ([System.Text.Encoding]::UTF8)

これで正常、異常に分けて宛先を変えたり、本文を変えることも可能です。

本文の $body = @() は後から値を追加していきたいために、いったん空の配列を作成しています。こうすることで、ArrayListのように宣言を覚えておかなくても使用することができますよ。

こういう技を覚えておくと便利ですね!

メールに添付ファイルを付ける

次に「添付ファイル」を付けたい場合は引数を増やしていくだけです。

#添付ファイル
$attachment = $File

Send-MailMessage -To $to -From $from -Cc $Cc -Attachments $attachment -SmtpServer $smtp -Subject $subject -Body $body -Encoding ([System.Text.Encoding]::UTF8)

こちらも正常、異常によって添付するものを分けて使っています。

まとめ

メールを送るにはSend-MailMessageでOK。

添付ファイルを付けるときは「引数」を増やすだけ。
powershellは命令がすでに用意されているのでとても便利ですね!

日報のように「毎日同じ人に同じ形式・同じ添付ファイル」を送るのがめんどくさくて、自動化できないか試したのが始まりでした。

自動できそうなところは自動化していきたいです!

RECOMMEND

1

新卒で入社したけど『もう仕事を辞めたい』『我慢できない』という方に向けて。新卒入社でカフェのフロアスタッフとしてして働いたけれど、約1年で退職した私からアドバイスです。心がだめになるまで続ける必要なんてありません。

2

女性はライフステージによって休職や転職しなければいけないときがありますよね。
そこでこの記事では女性の転職に有利な資格をまとめてみました。
一生職に困らない、転職に有利な資格とはなにかご覧ください。

3

「今日は会社に行く気がしない・・。」「たまには会社をさぼりたい・・。」なんてことありませんか?本記事では、実際に私の周りで使われていた欠勤理由をご紹介します。今から使える欠勤理由です。本当に仕事に行きたくないときなど活用できると思うので、ぜひ読んでみてください。

-プログラミング

Copyright© Job search info , 2020 All Rights Reserved.