Inline -Bilder in E -Mails
Fehler behebenEinbetten 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!