Mit VB.NET Email senden. Aber als HTML!

Gast #3334861
Lesenswert?

Hallo Leute,

Für einen Personalisierten Newsletter habe ich mir eine kleine Datenbank 
zusammengestöppselt und möchte nun einen personalisierten Text 
versenden.
Soweit so gut.
Mit der System.Web.Mail Klasse funktioniert dies auch sehr gut.
Nun mein Problem: Ich möchte gerne einen HTML formatierte Email senden.

Kann ich das mit einer Richtextbox lösen?

Zur zeit hänge ich den Text wie folgt an:

Dim oMail As New MailMessage()
With oMail
.Body = "Dies ist eine Test-Nachricht"
#3334878
Lesenswert?

Schnurka schrieb:

> Mit der System.Web.Mail Klasse funktioniert dies auch sehr gut.
> Nun mein Problem: Ich möchte gerne einen HTML formatierte Email senden.

Auch HTML ist nichts anderes als Text

Google "system.web.mail"

gleich der erste Link:
http://msdn.microsoft.com/de-de/library/system.web.mail(v=vs.80).aspx
1
System.Web.Mail-Namespace
2

3
Die Klassen in diesem Namespace sind veraltet. Verwenden Sie
4
stattdessen den System.Net.Mail-Namespace.

OK. Also .Net.Mail ->
http://msdn.microsoft.com/de-de/library/system.net.mail(v=vs.80).aspx
1
System.Net.Mail-Namespace
2

3
Hinweis: Dieser Namespace ist neu in .NET Framework, Version 2.0.
4
Der System.Net.Mail-Namespace enthält Klassen zum Senden von
5
E-Mail-Nachrichten an einen SMTP-Server (Simple Mail Transfer Protocol)
6
für die Übermittlung.
7
Die MailMessage-Klasse stellt den Inhalt einer E-Mail-Nachricht dar.

MailMessage. ok ->
http://msdn.microsoft.com/de-de/library/system.net.mail.mailmessage(v=vs.80).aspx
1
...
2
Verwenden Sie die AlternateViews-Eigenschaft, um Kopien einer E-Mail-
3
achricht in unterschiedlichen Formaten anzugeben. Wenn Sie beispielsweise
4
eine Nachricht in HTML senden,
5
...

Aha: AlternateViews hat da irgendwas damit zu tun
->
http://msdn.microsoft.com/de-de/library/system.net.mail.mailmessage.alternateviews(v=vs.80).aspx

Und siehe da, da gibt es sogar ein Beispiel
1
public static void CreateMessageWithMultipleViews(string server, string recipients)
2
{
3
    // Create a message and set up the recipients.
4
    MailMessage message = new MailMessage(
5
        "jane@contoso.com",
6
        recipients,
7
        "This e-mail message has multiple views.",
8
        "This is some plain text.");
9

10
    // Construct the alternate body as HTML.
11
    string body = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">";
12
    body += "<HTML><HEAD><META http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">";
13
    body += "</HEAD><BODY><DIV><FONT face=Arial color=#ff0000 size=2>this is some HTML text";
14
    body += "</FONT></DIV></BODY></HTML>";
15

16
    // Add the alternate body to the message.
17
    AlternateView alternate = new AlternateView(body, MediaTypeNames.Text.Html);
18
    message.AlternateViews.Add(alternate);
19
....

Du musst mehr auf eigene Faust recherchieren. Google ist dein Freund!
#3334956
Lesenswert?

Mein letzter Versuch mit AlternateViews (zwar in Perl+MimeLite, aber 
egal) ging in einer Outlook-verseuchten Umgebung leider daneben, weil 
das Outlook so eingestellt war, dass es per Default nur den Plaintext 
angezeigt hat. Umstellen wollte das keiner. Ich habe dann HTML-only 
verschickt und das ging dann...
#3335255
Lesenswert?

Georg A. schrieb:
> das Outlook so eingestellt war, dass es per Default nur den Plaintext
> angezeigt hat. Umstellen wollte das keiner. Ich habe dann HTML-only
> verschickt und das ging dann...

braves outlook (hätte mir nie geadcht, dass ich das jemals sage - 
normalerweise schimpfe ich immer über dieses unnötige, unbenutzbare, 
inkompatible monstrum von bugs).

schon mal daran gedacht, dass es leute gibt, die keine html-email 
bekommen WOLLEN und deshalb ihren email-client auf plain text 
eingestellt haben?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren