Tra le le funzionalità presenti nel .NET Framework dedicate alla composizione di messaggi di posta elettronica vi è quella che permette di includere nel corpo del messaggio alcuni allegati "embeddati" (detti anche inline-attachment), in particolare immagini nel caso in cui il formato del messaggio sia HTML.
Nel corpo del messaggio per ogni inline-attachment va specificato il cid (ContentId) che identifica in modo univoco l'allegato corrispondente.
Si noti che deve esistere una corrispondenza tra il cid indicato nel markup e il ContentId di ciascun elemento di tipo LinkedResource presente nella collezione associata al messaggio.
MailMessage msg = new MailMessage(); msg.From = new MailAddress("from@aspitalia.invalid"); msg.To.Add(new MailAddress("to@aspitalia.invalid")); msg.Subject = "Oggetto"; // Versione in formato HTML AlternateView htmlView = AlternateView.CreateAlternateViewFromString( "<html><body><img src=\"cid:IMG1\" alt=\"\" />" + "<img src=\"cid:IMG2\" alt=\"\" /></body></html>", Encoding.UTF8, "text/html"); // Inline Attachment IMG1 LinkedResource img1 = new LinkedResource( HttpContext.Current.Server.MapPath("Img1.jpg")); img1.ContentId = "IMG1"; img1.ContentType = new ContentType("image/jpeg"); htmlView.LinkedResources.Add(img1); // Inline Attachment IMG2 LinkedResource img2 = new LinkedResource( HttpContext.Current.Server.MapPath("Img2.gif")); img2.ContentId = "IMG2"; img2.ContentType = new ContentType("image/gif"); htmlView.LinkedResources.Add(img2); msg.AlternateViews.Add(htmlView);
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
- Accedere con ASP.NET ad un documento XML creato dall'oggetto recordset di ADO e ASP
- Richiamare programmaticamente le operazioni di aggiornamento, eliminazione e inserimento di FormView, DetailsView e GridView
- Ricavare lo spazio occupato su disco dal nostro sito
- Realizzare siti sicuri con ASP.NET Web Pages