07 February,2012 by Tom Collins
This post describes how to call to add an email attachment using Powershell.
In an earlier post - SQL Server – Send email using Powershell – the new-object Net.Mail.SmtpClient() Class was used.
To add an email attachment , use New-Object System.Net.Mail.MailMessage and New-Object System.Net.Mail.Attachment, which are part of the .Net Framework
The example script includes creating the variables, the function and calling the function .
$emailFrom = "[email protected]" $emailTo = "[email protected]" $subject = "SQLServer-DBA.com: Powershell Function calling an SMTP server with attachment" $body = "SQLServer-DBA.com : Send an email through SMTP in Powershell with attachment " $smtpServer = "mysmtpserver" $filePath = "C:\sql_server_health_sqlserver_jobs_2012-02.html" Function sendEmail([string]$emailFrom, [string]$emailTo, [string]$subject,[string]$body,[string]$smtpServer,[string]$filePath) { #initiate message $email = New-Object System.Net.Mail.MailMessage $email.From = $emailFrom $email.To.Add($emailTo) $email.Subject = $subject $email.Body = $body # initiate email attachment $emailAttach = New-Object System.Net.Mail.Attachment $filePath $email.Attachments.Add($emailAttach) #initiate sending email $smtp = new-object Net.Mail.SmtpClient($smtpServer) $smtp.Send($email) } #Call Function sendEmail $emailFrom $emailTo $subject $body $smtpServer $filePath
See Also
Powershell - run script on all sql servers
Author: Jack Vamvas (http://www.sqlserver-dba.com)
Author: Tom Collins (http://www.sqlserver-dba.com)
This is only a preview. Your comment has not yet been posted.
As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.
Having trouble reading this image? View an alternate.
Posted by: |