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>このコードは、
およびAlternateView
クラスを活用します。 LinkedResource
画像ファイルを一意のLinkedResource
に関連付けます。 HTML内のHTMLは、これを参照し、画像がインラインで表示されるようにします。 この方法は、添付の画像でよく見られる一般的な「赤X」プレースホルダーを防ぎます。 プレースホルダーの値を実際のデータに置き換えることを忘れないでください
以上がC# を使用して電子メールの本文に画像を直接埋め込むにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。