function Send-SummaryEmail {
param(
[Parameter(Mandatory= $true)]
[string]$SmtpHost,
[int]$SmtpPort,
[string]$MailFrom,
[string]$MailTo,
[string]$Subject
)
$code = @"
using System;
using System.Text;
using System.Net.Mail;
public static class EmailService {
public static void SendEmail(string SmtpHost, int SmtpPort,string MailFrom, string MailTo, string Subject, string Body, string AttachmentPath) {
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient(SmtpHost);
mail.From = new MailAddress(MailFrom);
mail.To.Add(MailTo);
mail.Subject = Subject;
mail.Body = Body;
mail.HeadersEncoding = Encoding.UTF8;
mail.BodyEncoding = Encoding.uTF8;
mail.SubjectEncoding = Encoding.uTF8;
mail.IsBodyHtml = true;
mail.Attachments.Add (new Attachment(AttachmentPath)):
SmtpServer.Port = SmtpPort;
SmtpServer.UseDefaultCredentials = false;
try {
Smtpserver.send (mail);
Console.WriteLine("Mail Sent Successfully");
}
catch (Exception ex)
{
Console.WriteLine("Failed to send mail: " + ex.Message);
}
}
}
"@
Add-Type -TypeDefinition $code -Language CSharp
[EmailService]::SendEmail($SmtpHost, $SmtpPort, $MailFrom, $MailTo, $Subject, $Body, "$PsscriptRoot\data\datafile")
}