首頁 > 後端開發 > C++ > 如何使用C#將圖像直接嵌入電子郵件的正文中?

如何使用C#將圖像直接嵌入電子郵件的正文中?

Barbara Streisand
發布: 2025-01-25 01:27:11
原創
478 人瀏覽過

How Can I Embed Images Directly into the Body of an Email Using C#?

使用 C 在電子郵件正文中嵌入圖像

使用 C# 直接在電子郵件正文中嵌入圖像需要特定的方法,因為標準電子郵件附件僅顯示為佔位符。 這個精煉的 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>
登入後複製

此代碼利用了 AlternateViewLinkedResource 類。 LinkedResource 將圖像文件與唯一的 ContentId 相關聯。然後 AlternateView 中的 HTML 引用此 ContentId,確保圖像內聯顯示。 此方法可以防止附加圖像中常見的常見“紅x”佔位符。 請記住將佔位符值替換為您的實際數據。

以上是如何使用C#將圖像直接嵌入電子郵件的正文中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板