Attaching Image in the body of mail in C#
32,609
Solution 1
string attachmentPath = Environment.CurrentDirectory + @"\test.png";
Attachment inline = new Attachment(attachmentPath);
inline.ContentDisposition.Inline = true;
inline.ContentDisposition.DispositionType = DispositionTypeNames.Inline;
inline.ContentId = contentID;
inline.ContentType.MediaType = "image/png";
inline.ContentType.Name = Path.GetFileName(attachmentPath);
message.Attachments.Add(inline);
reference: Send an Email in C# with Inline attachments
Solution 2
Use so called LinkedResource
. Here you can find how-to. Have done that successfully.
If tutorial does not help, don't be shy and ask for clarification. :)
Comments
-
priyanka.bangalore almost 2 years
How can I attach an image in the body content . I have written the below code
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(); string UserName = "[email protected]"; string Password = "my password"; message.To.Add(new System.Net.Mail.MailAddress("[email protected]")); message.From = new System.Net.Mail.MailAddress("[email protected]"); message.Subject = "test subject"; message.Body = "<img src=@'C:\\Sunset.jpg'/>"; message.IsBodyHtml = true; System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient(); smtpClient.Host = "hostname"; smtpClient.Port = 25; smtpClient.Credentials = new System.Net.NetworkCredential(UserName, Password); smtpClient.Send(message);
The code is fine as I am receiving the message also but the image is coming as [X] inside the body and not as the image. How to solve this? The path is correct?