Ecco un esempio di invio di una email con una immagine embedded.
In pratica si crea una "LinkedResource", gli si assegna un "ContentId" da referenziare nell'src del tag <img>.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Net.Mail" %>
<script runat="server">
protected void Button1_Click(object sender, EventArgs e)
{
MailMessage mail = new MailMessage();
mail.From = new MailAddress("mail@asd.it", "Mio sito");
mail.To.Add("mail@asd.com");
mail.Subject = "oggetto della mail";
AlternateView plainView =
AlternateView.CreateAlternateViewFromString("Testo per chi non legge mail i Html",
null, "text/plain");
AlternateView htmlView =
AlternateView.CreateAlternateViewFromString("Immagine embeddata.<br/><img src=cid:MIOLOGO>",
null, "text/html");
LinkedResource logo = new LinkedResource(Server.MapPath("Images/BabbaOnLine.jpg"));
logo.ContentId = "MIOLOGO";
htmlView.LinkedResources.Add(logo);
mail.AlternateViews.Add(plainView);
mail.AlternateViews.Add(htmlView);
SmtpClient smtp = new SmtpClient("smtp.xxxxx.com");
smtp.Send(mail);
Response.Write("Mail immagine embedded");
}
</script>
<html>
<head runat="server">
<title>Invia email</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1"
runat="server"
onclick="Button1_Click"
Text="Invia mail con immagine embedded" />
</div>
</form>
</body>
</html>