Help us understand the problem. What is going on with this article?

PowerShellでメール送信

More than 1 year has passed since last update.

はじめに

データベースから取得したCSVデータをメールで送信する案件が発生した。
CSVを暗号化zip圧縮にする必要があるが取り敢えずは、
zipファイルをメールに添付して送信するスクリプトを作ってみた。

環境

PowerShell v2.0以降
.Net Framework 2.0以降

解説

.NET Framework2.0以降にある
SmtpClientとMailMessage、Attachmentオブジェクトを呼び出して
作成している。
僕が紹介した当時は、Portの変更等ができなかったので。
今はSend-MailMessageで事足ります。

メール送信

$From="送信元メールアドレス"
$Subject="納品書"
$body="納品内容を送信致します。"
# このファイルの場所を取得
$FilePath=Split-Path ( & { $myInvocation.ScriptName } ) -parent
$File=@(Get-ChildItem $FilePath'\添付ファイル.zip')
$To="宛先メールアドレス"

# 送信メールサーバーの設定
$SMTPServer="メールサーバーアドレス"
$Port="ポート番号"
$User="送信ユーザー名"
$Password="送信パスワード"
$SMTPClient=New-Object Net.Mail.SmtpClient($SMTPServer,$Port)
# SSL暗号化通信しない $false
$SMTPClient.EnableSsl=$false
$SMTPClient.Credentials=New-Object Net.NetworkCredential($User,$Password)

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

参考サイト

Windows PowerShell を使用して GMail や Office 365 からメールを送信する

MailMessage.Attachments プロパティ

PSCredential資格情報を作ってみる

Send-MailMessage

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away