I recently provided this simple snippet to a colleague and thought I’d share it out. It includes a way to attach a local file or attach one generated on the fly.
using System;
using System.IO;
using System.Net.Mail;
using System.Text;
...
public static void SendEmail()
{
try
{
bool createFile = true;
string fileName = @"c:\boot.ini";
MailMessage mail = new MailMessage();
mail.IsBodyHtml = true;
mail.From = new MailAddress("you@domain.com");
mail.To.Add(new MailAddress("you@domain.com"));
mail.Subject = "Subject";
mail.Body = "Body";
if (createFile)
{
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] bytes = encoding.GetBytes("File Content Blah Blah Blah");
MemoryStream ms = new MemoryStream(bytes);
mail.Attachments.Add(new Attachment(ms, "FileTitle" + ".txt", "text/plain"));
}
else
{
mail.Attachments.Add(new Attachment(fileName));
}
SmtpClient smtpClient = new SmtpClient();
smtpClient.Host = "SMTPSERVERNAME";
smtpClient.Send(mail);
}
catch (Exception ex)
{
}
}
John - thanks. Saved me from having to figure it out by myself!
ReplyDelete