サーチ…


前書き

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