Heim >Backend-Entwicklung >C++ >Warum werden meine Inline-E-Mail-Bilder als rote X angezeigt und wie kann ich das beheben?

Warum werden meine Inline-E-Mail-Bilder als rote X angezeigt und wie kann ich das beheben?

Barbara Streisand
Barbara StreisandOriginal
2025-01-25 01:32:09782Durchsuche

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

Inline -Bilder in E -Mails

Fehler beheben

Einbetten Bilder direkt in Ihren E -Mail -Körper verbessert die Lesbarkeit, aber manchmal erscheinen diese Bilder als rote XS. Dieser Leitfaden bietet eine Lösung.

Hier ist ein korrigiertes Code -Beispiel zum Einbetten von Bildern:

<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>

Dieser verbesserte Code verwendet AlternateViews, um das Bild in die HTML -E -Mail einzubetten. Ein eindeutiges ContentId wird dem LinkedResource zugeordnet, auf das im img -Tag -Tag des HTML src verwiesen wird. Das AlternateView sorgt für die Kompatibilität für verschiedene E -Mail -Clients. Dieser Ansatz bettet zuverlässig Bilder ein und verhindert das rote X -Problem. Denken Sie daran, "c:/image.png", "yourAddress@yourDomain" und "recipient@hisDomain" durch Ihren tatsächlichen Dateipfad und Ihre E -Mail -Adressen zu ersetzen.

Das obige ist der detaillierte Inhalt vonWarum werden meine Inline-E-Mail-Bilder als rote X angezeigt und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn