ホームページ >バックエンド開発 >C++ >画像をメールの本文に直接埋め込むにはどうすればよいですか?

画像をメールの本文に直接埋め込むにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-25 01:46:10308ブラウズ

How Can I Embed Images Directly into the Body of My Emails?

画像を埋め込んでメールを改善する

メール本文に画像を直接追加すると、読みやすさとユーザー エンゲージメントが大幅に向上します。 以前の方法には問題があることがわかったかもしれませんが、このソリューションでは AlternateView クラスを利用して、HTML メール内のリソースとして画像をシームレスに埋め込みます。

更新されたコードは次のとおりです:

<code class="language-csharp">MailMessage mailWithImg = GetMailWithImg();
MySMTPClient.Send(mailWithImg); //* Remember to configure your SMTPClient beforehand!

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 = "Your 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}\"></img>"; //Using string interpolation for clarity
    AlternateView alternateView = AlternateView.CreateAlternateViewFromString(htmlBody, null, MediaTypeNames.Text.Html);
    alternateView.LinkedResources.Add(res);
    return alternateView;
}</code>

この洗練されたコードにより、画像が電子メール内にインラインで表示されるようになり、個別の添付ファイルの必要性がなくなり、受信者によりスムーズな読書体験が提供されます。 "c:/image.png" と電子メール アドレスを実際のファイル パスとアドレスに忘れずに置き換えてください。

以上が画像をメールの本文に直接埋め込むにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。