While you will usualy link images to a static location, there are situations where it can be very practical to include the actual image in the message and send it inline. This code snippet is a demonstration of the minimal code required to send an email message with an inline image using C#.
using System.Net.Mail; namespace EmbeddedImageMailDemo { /// <summary> /// Demonstration of the minimal code required to send an email message with an inline image /// </summary> class Program { static void Main(string[] args) { // Initialisation string sendermail = "someone@somewhere.com"; string receivermail = "someoneelse@someoneelse.com"; string mailserver = "your.smtpserver.local"; // Base email message var msg = new MailMessage(); msg.IsBodyHtml = true; msg.From = new MailAddress(sendermail); msg.To.Add(receivermail); msg.Subject = "Demo email with image"; // Create the embedded resource and the body LinkedResource lr = new LinkedResource(@".\myimage.jpg", "image/jpeg"); lr.ContentId = "myimage"; string bodytext = "<img src='cid:myimage' />"; bodytext += "This is my testmail with embedded image below!"; AlternateView htmlview = AlternateView.CreateAlternateViewFromString(bodytext, new System.Net.Mime.ContentType("text/html")); htmlview.LinkedResources.Add(lr); msg.AlternateViews.Add(htmlview); // Send the message var smtp = new SmtpClient(mailserver); smtp.Send(msg); } } }