Maison > développement back-end > C++ > Pourquoi mes images par e-mail en ligne sont-elles affichées sous forme de X Red, et comment puis-je le réparer?

Pourquoi mes images par e-mail en ligne sont-elles affichées sous forme de X Red, et comment puis-je le réparer?

Barbara Streisand
Libérer: 2025-01-25 01:32:09
original
810 Les gens l'ont consulté

Why Are My Inline Email Images Showing as Red Xs, and How Can I Fix It?

Dépannage des images en ligne dans les e-mails

L'intégration d'images directement dans votre corps de messagerie améliore la lisibilité, mais parfois ces images apparaissent sous forme de X Red. Ce guide fournit une solution.

Voici un exemple de code corrigé pour l'intégration d'images:

<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>
Copier après la connexion

Ce code amélioré utilise AlternateViews pour intégrer l'image dans l'e-mail HTML. Un ContentId unique est affecté au LinkedResource, référencé dans l'attribut img TAG du HTML src. Le AlternateView assure la compatibilité entre différents clients de messagerie. Cette approche intègre de manière fiable des images, empêchant le problème rouge X. N'oubliez pas de remplacer "c:/image.png", "yourAddress@yourDomain" et "recipient@hisDomain" par votre chemin de fichier réel et les adresses e-mail.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal