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
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Load test di ASP.NET Core con k6
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Cache policy su route groups di Minimal API in ASP.NET Core 7
Short-circuiting della Pipeline in ASP.NET Core
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Implementare il throttling in ASP.NET Core