Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya dapat membenamkan imej terus ke dalam badan e -mel menggunakan C#?
<code class="language-csharp">MailMessage mailWithImg = GetMailWithImg(); MySMTPClient.Send(mailWithImg); // Ensure MySMTPClient is properly configured private MailMessage GetMailWithImg() { MailMessage mail = new MailMessage(); mail.IsBodyHtml = true; mail.AlternateViews.Add(GetEmbeddedImage("c:/image.png")); // Replace with your image path mail.From = new MailAddress("yourAddress@yourDomain"); // Replace with your email address mail.To.Add("recipient@hisDomain"); // Replace with recipient's email address mail.Subject = "yourSubject"; // Replace with your email subject return mail; } private AlternateView GetEmbeddedImage(String filePath) { LinkedResource res = new LinkedResource(filePath); res.ContentId = Guid.NewGuid().ToString(); string htmlBody = $"<img src=\"cid:{res.ContentId}\" />"; // Note the escaped quotes AlternateView alternateView = AlternateView.CreateAlternateViewFromString(htmlBody, null, MediaTypeNames.Text.Html); alternateView.LinkedResources.Add(res); return alternateView; }</code>Kod ini memanfaatkan kelas
dan AlternateView
. LinkedResource
mengaitkan fail imej dengan unik LinkedResource
. HTML dalam ContentId
kemudian merujuk ini AlternateView
, memastikan imej dipaparkan secara sejajar. Kaedah ini menghalang tempat yang biasa "Red X" yang sering dilihat dengan imej yang dilampirkan. Ingatlah untuk menggantikan nilai letak dengan data sebenar anda. ContentId
Atas ialah kandungan terperinci Bagaimanakah saya dapat membenamkan imej terus ke dalam badan e -mel menggunakan C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!