Frage

Ich habe einen Stream geladen mit HTML, dass ich von einem Export bekam. Ich kann in einem Byte diese HTML vom Strom nehmen [] (gibt es eine andere Art und Weise?), Und ich möchte dieses Byte schreiben [], um einen HTML-Mail-Text.

Der Grund, dies zu tun, ist, dass ich einen Bericht in HTML exportieren möge, und verwenden diese Daten in dem Körper der E-Mail, anstatt es zu pdf zu exportieren und es als Anhang senden.

hoffe, es ist klar genug, lassen Sie mich wissen, wenn ich etwas hinzufügen müssen.

Danke

War es hilfreich?

Lösung

fand ich es. Es ist sehr einfach, obwohl ich nicht das Ergebnis finden habe ich möchte, eine formatierte Ausgabe direkt an der E-Mail mit, die Frage mehr war, wie die verwenden Bytes in einem Strom zur Ausgabe von HTML gespeichert.

nehme ich den Strom und erstellen Sie einen Stream:

            stream.Position = 0;
            StreamReader reader = new StreamReader(stream);

Dann in dem Körper des E-Mail-Objekts, las ich den Inhalt des Stroms die Stream mit:

mail.Body = reader.ReadToEnd();

Das ist alles. Was denken Sie?

Andere Tipps

Sie können eine Multipart MIME-Nachricht verwenden und den Strom an den Alternate Konstruktor übergeben als auch, einfach nicht schließen, den Strom oder es aufzuräumen, bis Sie die Nachricht gesendet haben (Call MailMessage.Dispose (), um Griff Bereinigungs für Sie, wenn Sie mögen). Wenn Sie mit Ihrer Lösung gehen, sollten Sie mail.IsBodyHtml auf true setzen, um für den Inhaltstyp richtig eingestellt werden sonst der Empfang Mail-Client der HTML nicht als HTML angezeigt werden kann, da denken sie es Klartext ist. Wenn die Ausgabe der E-Mail sieht komisch aus in Ihrem Mail-Client dann das ist wahrscheinlich, warum.

Der Code würde wie folgt aussehen (abgeschnitten nur die relevanten Teile):

MailMessage message = new MailMessage();
message.AlternateViews.Add(new AlternateView(stream, new ContentType("text/HTML"));
// do NOT set Body, IsBodyHtml, or ContentType on MailMessage or 
// you'll mess up the mime types

smtpClient.Send(message);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top