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. :)

Share:
32,609
priyanka.bangalore
Author by

priyanka.bangalore

Student

Updated on July 05, 2022

Comments

  • priyanka.bangalore
    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?