Add attachment as inline resource when sending mail
static void Main(string[] args)
{
// creat client instance
SmtpClient client = new SmtpClient("smtp.mail.com", 25);
// create mail message
MailMessage message = new MailMessage();
message.From = new MailAddress("from@mail.com", "I'm a sender");
message.To.Add("to@mail.com");
// create attachment instance
Attachment attachment = new Attachment(@"C:\about-pic.gif");
// set attachment name (for assign resource name later)
attachment.Name = Path.GetFileName(@"C:\about-pic.gif");
attachment.ContentId = "about_pic";
// set attachment same to mail
attachment.NameEncoding = message.BodyEncoding;
attachment.TransferEncoding = System.Net.Mime.TransferEncoding.Base64;
// set attachment as embeded resources
attachment.ContentDisposition.Inline = true;
attachment.ContentDisposition.DispositionType = System.Net.Mime.DispositionTypeNames.Inline;
message.Attachments.Add(attachment);
message.Subject = "test attchement";
message.Body = "<html><head><title>test attchemtn</title></head><body style='background-color:#aaaaff;'>"
+ "<h1>test attchement</h1><img src='cid:"+attachment.ContentId+"' /></body></html>";
message.IsBodyHtml = true;
client.Send(message);
}