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
Freigeben: 2025-01-25 01:32:09
Original
779 Leute haben es durchsucht

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage