2009-12-19 3 views
7

Ich versuche immer noch herauszufinden, warum ich HTML-Formatierung im Körper einer benutzerdefinierten E-Mail nicht anwenden kann. Ich bin sicher, dass ich etwas vermisse, oder ich brauche ein neues Paar Augen!Anwenden von HTML-Formatierung im Körper der E-Mail

ist die Info der <head> der Webseite

<head runat="server"> 
    <link href="~/MyStyle.css" rel="stylesheet" type="text/css" /> 
</head> 

Mystyle.css enthält folgende

span.orange 
{ 
    color: #FF6D06; 
    font-family: tahoma; 
    font-size: 10pt; 
} 

und hier kommt der Körperteil ...

Dim HtmlString as string = "<span class='orange'>This one should be painted</span>" 

hinzugefügt welches gesendet wird, indem Net.Mail

verwendet
Dim objMail As New Mail.MailMessage (blah, blah blah) 
objMail.IsBodyHtml = True 

UPDATE: Zunächst einmal vielen Dank für Ihre Kommentare. Die E-Mail selbst ist in keiner Weise mit dem Stylesheet referenziert. Welche Optionen habe ich neben dem Anfügen des Stylesheets an die E-Mail?

+1

Ich bin verwirrt. Wie verweist der HTML-Code im E-Mail-Text auf Ihr Stylesheet? –

+0

Es ist mir nicht klar, wo die Webseite selbst herkommt. Bitte klären Sie. Im Idealfall stellen Sie ein kurzes, aber komplettes Programm ... –

+0

Hallo! Ich habe die entsprechenden Informationen im obigen Update hinzugefügt. Vielen Dank – OrElse

Antwort

13

Wenn ich das getan habe, habe ich in der Regel die CSS in dem Körper der E-Mail eingebettet:

<html> 
<head> 
<style type="text/css"> 
span.orange 
{ 
    color: #FF6D06; 
    ... 
} 
</style> 
</head> 
... 

vermeiden Referenzierung externe Entitäten (wie Stylesheets, Bilder, etc.) in HTML-E-Mail. Diese Verweise sind möglicherweise nicht verfügbar, abhängig von den Mail-Agent-Einstellungen des Benutzers. Informieren Sie sich auch über die HTML-Unterstützung in Mailagenten. Es ist möglicherweise nicht so reich wie Sie erwarten. Here's some information on Outlook, zum Beispiel.

0

Die meisten Mail-Reader (sowohl Desktop-basierte und Web-basierte) nicht gut mit CSS: Es ist in der Regel besser zu verwenden und externe CSS und Inline-Stile verwenden, ist es oft besser, Tabellen zum Formatieren zu verwenden statt divs, ...

Und hier, wo ist dein CSS? Ist es irgendwo auf einem Server?
(dh es ist nicht nur auf dem lokalen Computer sein soll, aber über eine Art von URL zugänglich)

5

Es scheint, dass Sie dies falsch ausgeführt werden.

Ihr CSS sollte inline und nicht extern sein. Dann haben Sie einfach alle Ihre HTML- und CSS-Stile als den Körper Ihrer E-Mail, und es wird funktionieren.

Sie wollen wirklich außerhalb Dateien wie viele E-Mail-Anwendungen zu vermeiden Referenzierung werden die Verweise blockieren.

0

Das Farbattribut funktioniert nicht für E-Mails. Für die meisten Mailagenten funktioniert es möglicherweise beim ersten Senden der E-Mail, wird aber ignoriert, wenn die E-Mail weitergeleitet wird.

Das Beste ist, sehr alt HTML-Tags und Tabellen verwenden, um die E-Mail, wie Pre-tableless Code Format und Stil.

Traurig aber wahr, die Unterstützung für E-Mails ist immer noch unglaublich schlecht.

Verwandte Themen