Thursday, 2 March 2017

Attach images in email body in asp.net



in email body if you want to attach images which is in your images folder. Like in signautre we put
facebook, twitter link with icon then below is the code.


  bool isMailSent = false;
            string SmtpHost = Convert.ToString(ConfigurationManager.AppSettings["smtpClient"]);
            string SmtpUserName = Convert.ToString(ConfigurationManager.AppSettings["MailerUser"]);
            string SmtpPassword = Convert.ToString(ConfigurationManager.AppSettings["MailerPassword"]);
       
            SmtpClient mailClient = new SmtpClient(SmtpHost);
            mailClient.Credentials = new System.Net.NetworkCredential(SmtpUserName, SmtpPassword);

            MailMessage msg = new MailMessage();
            msg.IsBodyHtml = true;
       
             msg.To.Add(new MailAddressAppSetting.ToEmailAddress
            msg.From = new MailAddress(AppSetting.FromEmailAddress);
             msg.Subject = "Test Attach image";


            StringBuilder sb = new StringBuilder();


            string Str = "<html>";
            Str += "<head>";
            Str += "<title></title>";
            Str += "</head>";
            Str += "<body>";
            Str += "<table border=0 width=95% cellpadding=0 cellspacing=0>";
            Str += "<tr>";
            Str += "<td> Good Day </td>";
            Str += "</tr>";
            Str += "<tr>";
            Str += "<td>Please feel free to contact me with any questions, comments or concerns. </td>";
            Str += "</tr>";

            Str += "<tr>";
            Str += "<td><b>Thanks,</b></td>";
            Str += "</tr>";
            Str += "<tr>";
            Str += "<td><b>Marry</b></td>";
            Str += "</tr>";
            Str += "<tr>";
            Str += "<td>Mary@gmail.com</td>";
            Str += "</tr>";
            Str += "<tr>";
            Str += "<td>&nbsp;</td>";
            Str += "</tr>";
            Str += "<tr>";
            Str += "<td><img src=cid:CompanyLogo></td>";
            Str += "</tr>";
            Str += "<tr>";
            Str += "<td>&nbsp;</td>";
            Str += "</tr>";
            Str += "<tr>";
            Str += "<td><a href='#'><img src=cid:facebook></a><a href='#'><img src=cid:twitter></a> <a href='#'><img src=cid:linkedin> </a></td>";
            Str += "</tr>";


            Str += "</table>";
            Str += "</body>";
            Str += "</html>";

            string Body = Str;

            msg.Priority = MailPriority.Normal;
            AlternateView htmlView = AlternateView.CreateAlternateViewFromString(Body, null, "text/html");

            string imgFile = AppDomain.CurrentDomain.BaseDirectory + "images\\image001.png";
            LinkedResource inline = new LinkedResource(imgFile);
            inline.ContentId = "CompanyLogo";
            htmlView.LinkedResources.Add(inline);

            imgFile = AppDomain.CurrentDomain.BaseDirectory + "images\\facebook.gif";
            inline = new LinkedResource(imgFile);
            inline.ContentId = "facebook";
            htmlView.LinkedResources.Add(inline);

            imgFile = AppDomain.CurrentDomain.BaseDirectory + "images\\twitter.gif";
            inline = new LinkedResource(imgFile);
            inline.ContentId = "twitter";
            htmlView.LinkedResources.Add(inline);

            imgFile = AppDomain.CurrentDomain.BaseDirectory + "images\\linkedin.gif";
            inline = new LinkedResource(imgFile);
            inline.ContentId = "linkedin";
            htmlView.LinkedResources.Add(inline);


            msg.AlternateViews.Add(htmlView);

            if (fileList != null)
            {
                foreach (var item in fileList)
                {
                    Attachment att = new Attachment(item);
                    msg.Attachments.Add(att);
                }
            }

            try
            {
                mailClient.Send(msg);

                isMailSent = true;
            }
            catch (Exception ex)
            {
           
            }