Heim > Backend-Entwicklung > C++ > Wie kann ich mit C# Bilder direkt in den Text einer E-Mail einbetten?

Wie kann ich mit C# Bilder direkt in den Text einer E-Mail einbetten?

Barbara Streisand
Freigeben: 2025-01-25 01:27:11
Original
531 Leute haben es durchsucht

How Can I Embed Images Directly into the Body of an Email Using C#?

Bilder in E -Mail -Körper mit C

einbetten

Die direkte Einbetten von Bildern in den Körper einer E -Mail mit C# erfordert einen bestimmten Ansatz, da Standard -E -Mail -Anhänge nur als Platzhalter angezeigt werden. Dieser raffinierte C# -Coder zeigt, wie man Bilder korrekt einbettet:

MailMessage mailWithImg = GetMailWithImg();
MySMTPClient.Send(mailWithImg); // Ensure MySMTPClient is properly configured

private MailMessage GetMailWithImg() {
    MailMessage mail = new MailMessage();
    mail.IsBodyHtml = true;
    mail.AlternateViews.Add(GetEmbeddedImage("c:/image.png")); // Replace with your image path
    mail.From = new MailAddress("yourAddress@yourDomain"); // Replace with your email address
    mail.To.Add("recipient@hisDomain"); // Replace with recipient's email address
    mail.Subject = "yourSubject"; // Replace with your email 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}\" />"; // Note the escaped quotes
    AlternateView alternateView = AlternateView.CreateAlternateViewFromString(htmlBody, null, MediaTypeNames.Text.Html);
    alternateView.LinkedResources.Add(res);
    return alternateView;
}
Nach dem Login kopieren

Dieser Code nutzt die Klassen AlternateView und LinkedResource. LinkedResource assoziiert die Bilddatei mit einem eindeutigen ContentId. Das HTML innerhalb AlternateView verweist dann auf dieses ContentId, um sicherzustellen, dass das Bild inline angezeigt wird. Diese Methode verhindert, dass der gemeinsame "rote X" -Plampenhalter häufig mit angehängten Bildern zu sehen ist. Denken Sie daran, Platzhalterwerte durch Ihre tatsächlichen Daten zu ersetzen.

Das obige ist der detaillierte Inhalt vonWie kann ich mit C# Bilder direkt in den Text einer E-Mail einbetten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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