Penyelesaian Masalah Imej Inline Dalam E -mel
Meningkatkan imej terus ke dalam badan e -mel anda meningkatkan kebolehbacaan, tetapi kadang -kadang imej -imej ini muncul sebagai XS merah. Panduan ini menyediakan penyelesaian.Berikut adalah contoh kod yang diperbetulkan untuk membenamkan imej:
<code class="language-csharp">MailMessage mailWithImg = GetMailWithImg(); MySMTPClient.Send(mailWithImg); // Ensure your SMTPClient is properly configured. private MailMessage GetMailWithImg() { MailMessage mail = new MailMessage(); mail.IsBodyHtml = true; mail.AlternateViews.Add(GetEmbeddedImage("c:/image.png")); mail.From = new MailAddress("yourAddress@yourDomain"); mail.To.Add("recipient@hisDomain"); mail.Subject = "yourSubject"; return mail; } private AlternateView GetEmbeddedImage(string filePath) { LinkedResource res = new LinkedResource(filePath); res.ContentId = Guid.NewGuid().ToString(); string htmlBody = $"<img src=\"cid:{res.ContentId}\"></img>"; // Note the escaped quotes AlternateView alternateView = AlternateView.CreateAlternateViewFromString(htmlBody, null, MediaTypeNames.Text.Html); alternateView.LinkedResources.Add(res); return alternateView; }</code>
untuk membenamkan imej dalam e -mel HTML. A Unik AlternateViews
diberikan kepada ContentId
, yang dirujuk dalam atribut LinkedResource
tag HTML. img
memastikan keserasian merentasi pelanggan e -mel yang berbeza. Pendekatan ini dengan pasti membenamkan imej, menghalang isu merah X. Ingatlah untuk menggantikan src
, AlternateView
, dan "c:/image.png"
dengan laluan fail sebenar dan alamat e -mel anda. "yourAddress@yourDomain"
Atas ialah kandungan terperinci Kenapa imej e -mel inline saya menunjukkan sebagai Red XS, dan bagaimana saya boleh memperbaikinya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!