PowerShell
電子メールを送信する
サーチ…
前書き
Exchange Server管理者にとって便利なテクニックは、PowerShellからSMTP経由で電子メールメッセージを送信できることです。コンピュータまたはサーバーにインストールされているPowerShellのバージョンによっては、PowerShell経由で電子メールを送信する方法は複数あります。シンプルで使いやすいネイティブのコマンドレットオプションがあります。コマンドレットSend-MailMessageを使用します 。
パラメーター
パラメータ | 詳細 |
---|---|
添付ファイル<String []> | メッセージに添付するファイルのパスとファイル名。パスとファイル名はSend-MailMessageにパイプすることができます。 |
Bcc <String []> | 電子メールメッセージのコピーを受信したが、メッセージに受信者として表示されない電子メールアドレス。名前[email protected]または[email protected]などの名前(オプション)と電子メールアドレス(必須)を入力します。 |
本文<String_> | 電子メールメッセージの内容。 |
BodyAsHtml | これは、コンテンツがHTML形式であることを示します。 |
Cc <String []> | 電子メールメッセージのコピーを受け取る電子メールアドレス。名前[email protected]または[email protected]などの名前(オプション)と電子メールアドレス(必須)を入力します。 |
資格情報 | 指定された電子メールアドレスからメッセージを送信する権限を持つユーザーアカウントを指定します。デフォルトは現在のユーザーです。 UserやDomain \ Userなどの名前を入力するか、PSCredentialオブジェクトを入力します。 |
DeliveryNotificationOption | 電子メールメッセージの配信通知オプションを指定します。複数の値を指定できます。配信通知は、Toパラメータで指定されたアドレスにメッセージで送信されます。許容値:None、OnSuccess、OnFailure、Delay、Never。 |
エンコーディング | ボディと被写体のエンコーディング許容値:ASCII、UTF8、UTF7、UTF32、Unicode、BigEndianUnicode、デフォルト、OEM。 |
から | メールの送信元の電子メールアドレス。名前[email protected]または[email protected]などの名前(オプション)と電子メールアドレス(必須)を入力します。 |
港 | SMTPサーバーの代替ポート。既定値は25です.Windows PowerShell 3.0から使用できます。 |
優先度 | 電子メールメッセージの優先度。許容値:Normal、High、Low。 |
SmtpServer | 電子メールメッセージを送信するSMTPサーバーの名前。デフォルト値は、$ PSEmailServer変数の値です。 |
件名 | 電子メールメッセージの件名。 |
に | メールが送信される電子メールアドレス。名前を入力します(オプション)。メールアドレス(必須)。たとえば、名前は[email protected]または[email protected]です。 |
UseSsl | SSL(Secure Sockets Layer)プロトコルを使用してリモートコンピュータとの接続を確立してメールを送信する |
単純なSend-MailMessage
Send-MailMessage -From [email protected] -Subject "Email Subject" -To [email protected] -SmtpServer smtp.com
定義済みのパラメータを使用したSend-MailMessage
$parameters = @{
From = '[email protected]'
To = '[email protected]'
Subject = 'Email Subject'
Attachments = @('C:\files\samplefile1.txt','C:\files\samplefile2.txt')
BCC = '[email protected]'
Body = 'Email body'
BodyAsHTML = $False
CC = '[email protected]'
Credential = Get-Credential
DeliveryNotificationOption = 'onSuccess'
Encoding = 'UTF8'
Port = '25'
Priority = 'High'
SmtpServer = 'smtp.com'
UseSSL = $True
}
# Notice: Splatting requires @ instead of $ in front of variable name
Send-MailMessage @parameters
SMTPClient - 本文メッセージに.txtファイルを含むメール
# Define the txt which will be in the email body
$Txt_File = "c:\file.txt"
function Send_mail {
#Define Email settings
$EmailFrom = "[email protected]"
$EmailTo = "[email protected]"
$Txt_Body = Get-Content $Txt_File -RAW
$Body = $Body_Custom + $Txt_Body
$Subject = "Email Subject"
$SMTPServer = "smtpserver.domain.com"
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 25)
$SMTPClient.EnableSsl = $false
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)
}
$Body_Custom = "This is what contain file.txt : "
Send_mail
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow