Code: Select all
### EMAIL VARIABLES ###
$FromAddress = 'sender@mydomain.tld'
$Recipient = 'recipient@otherdomain.tld'
$Subject = 'Powershell Email Function With SSL, HTML and Attachment Handling'
$EmailBody = 'C:\scripts\EmailBody.txt'
$FileAttachment = 'C:\scripts\somefile.log'
$HTML = $True
$SMTPServer = 'mail.domain.tld'
$SMTPAuthUser = 'sender@mydomain.tld'
$SMTPAuthPass = 'supersecretpassword'
$SMTPPort = 587
$SSL = $False
Function EmailResults {
$Body = (Get-Content -Path $EmailBody | Out-String )
If (Test-Path $FileAttachment){$Attachment = New-Object System.Net.Mail.Attachment $FileAttachment}
$Message = New-Object System.Net.Mail.Mailmessage $FromAddress, $Recipient, $Subject, $Body
$Message.IsBodyHTML = [System.Convert]::ToBoolean($HTML)
If (Test-Path $FileAttachment){$Message.Attachments.Add($FileAttachment)}
$SMTP = New-Object System.Net.Mail.SMTPClient $SMTPServer,$SMTPPort
$SMTP.EnableSsl = [System.Convert]::ToBoolean($SSL)
$SMTP.Credentials = New-Object System.Net.NetworkCredential($SMTPAuthUser, $SMTPAuthPass);
$SMTP.Send($Message)
}
EmailResults