Laden...

Versendete Email wird unter Outlook 2007 oder 2013 falsch dargestellt

Erstellt von Edzio vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.868 Views
E
Edzio Themenstarter:in
68 Beiträge seit 2013
vor 8 Jahren
Versendete Email wird unter Outlook 2007 oder 2013 falsch dargestellt

Hallo zusammen,

in meinem Code erstelle ich eine E-Mail mit HTML Body.
In der Vorschau sieht die "E-Mail" auch so aus, wie ich es mir gedacht habe.
Wird diese nun versendet und man betrachtet sie unter Outlook 2007 oder 2013
so fehlt ein Teil meiner Style Formatiereung der Tabelle.
Im Internet habe ich bereits gesucht, ob Outlook gewisse HTML Codes nicht kann,
laut meiner Recherche sind color, background-color, font-wight und font-size aber machbar.

Sieht jemand irgend einen anderen Grund, dass es nicht funktioniert?

using system.net.mail
...
                string nachricht_mail4 ="<font face =arial>" + 
                                        "<table border=0 cellpadding=2 cellspacing=2>" +
                                         " <tbody>" +
                                             "<colgroup>" +
                                                    "<col width=250>" +
                                                    "<col width=250>" +
                                                "</colgroup>" +
                          DAS hier funktioniert nur zum Teil                  "<tr style=color:#4169e1; style=background-color:#D3D3D3; style=font-weight:bolder; style=font-size:large>" +
                                                "<td colspan=2>Projekt beendet</td>" +
                                                "<td align=right>" + DateTime.Now.ToShortDateString() + "</td>" +
                                            "</tr>" +
                                            "<tr>" +
                                                "<td>Projekt:</td>" +
                                                "<td>" + mail4projektnummer + "</td>" +
                                            "</tr>" +
                                            "<tr>" +
                                                "<td>Projektleiter:</td>" +
                                                "<td>" + mail4empfaenger + "</td>" +
                                            "</tr>" +
                                            "<tr>" +
                                                "<td>Entwickler:</td>" +
                                                "<td>" + mail4absender + "</td>" +
                                            "</tr>" +
                                          "</tbody>" +
                                        "</table>" +
                                        
					"<br>wurde abgeschlossen." +
                                        
					"<br><br><b><u>Team 1 & 2 & 3:</u></b>" +
                                        "<br>Die fertigen Zeichnungen befinden sich im Projektlaufwerk in dem Ordner xyz!" +
                                        "<br>Link Projektlaufwerk:<br>" +
                                        "<A HREF=file:///" + gesamt_ordner_pfad + ">PROJEKT-GRUND-ORDNER</A> <sub><small>(Aktuelle Version ist zu beachten)</small></sub>" +
                                        
                                        "<br><br><b><u>Team 4:</u></b>" +
                                        "<br>Die fertigen Zeichnungen befinden sich unter der jeweiligen Projektnummer im" +
                                        "<br><A HREF=http://abbbabbaaa.bbabba:1234/mmweb/index.jsp >Model-Manager</A>" +
                                        "<br>oder im" +
                                        "<br><A HREF=https://hjhjhjhjhj.com/app/tcomp/xyzz</A>" +
                                        "<br>Link Projektlaufwerk:<br>" +
                                        "<A HREF=file:///" + gesamt_ordner_pfad + ">PROJEKT-GRUND-ORDNER</A> <sub><small>(Aktuelle Version ist zu beachten)</small></sub>" +
                                        "<br><i>Hinweis:</i><br>" +
                                        "<i>Vorabmodelle befinden sich im Ordner 2.5</i>" +
                                        "</font>";

                Email_Projekt_abgeschlossen.Body = nachricht_mail4;
                Email_Projekt_abgeschlossen.IsBodyHtml = true;
...

Im Anhang habe ich noch ein Bild, wie es in der Vorschau aussieht und nachher als Mail ankommt.
Outlook ist auf HTML gestellt.

Kann das mit dem FirmenMail-Server zusammenhängen, dass er bestimmte Styles blockiert?

Danke im Voraus.

Gruß

W
955 Beiträge seit 2010
vor 8 Jahren

Hi,
was passiert wenn du die styles im Header definierst (klappt zumindest hier)


<html>
<head>
<style type="text/css">
<!--
body, html { margin:0; padding:0; color:#000; background:#fff; font-family:Verdana,Arial,Helvetica; font-size: 14px; }
table { width:100%; font-size:12px; }
th { width:300px; background:antiquewhite; font-weight:normal; border:solid 1px black; }
th, td { text-align:left; }
.tableheader { font-size:16px; padding:8px; background:moccasin; font-weight:bold; }
.salut { font-size: 16px; }
.eventtype { font-weight:bold; color:purple; font-size: 14px; margin:6px; }
.important { background:bisque; }
.vermerk { float:right; width=180px; padding:6px; }
.remark { font-size:10px; color:gray; text-align:center; }
.vermerk table { border:solid 1px silver; } 
-->
</style>
</head>

Und nimm lieber einen StringBuilder oder Templating system statt die Strings alle zu "addieren".

Kann das mit dem FirmenMail-Server zusammenhängen, dass er bestimmte Styles blockiert? Wieso? Es fehlen doch nur die Styles der Tabelle.

E
Edzio Themenstarter:in
68 Beiträge seit 2013
vor 8 Jahren

ok danke,
dann versuch ich das mal.

Gruß

16.835 Beiträge seit 2008
vor 8 Jahren

Dein HTML ist ungültig.

Anführungszeichen können nur dann weggelassen werden, wenn keine Spaces verwendet werden.
Ebenso ist Style ein Attribut, dass nur ein einziges mal pro HTML Element verwendet werden darf.

<tr style=color:#4169e1; style=background-color:#D3D3D3; style=font-weight:bolder; style=font-size:large>

Der einzige Style, der hier greift, ist style=color:#4169e1;

Verwende Anführungszeichen (mit entsprechendem Escaping) dann geht es auch.

PS: Die drei von Dir genannten CSS Elemente sind nur mit der Kernfunktionalität abgedeckt.
Value-Namen wie "large" könnten daher nicht funktionieren, aber "16px" eben schon.

Generell empfehle ich Dir aber mal einen Blick auf die Razor Engine.
Razor Engine kann dazu verwendet werden, dass Du in jedem beliebigen .NET Programm HTML-Render Funktionalität abbilden kannst.
HTML wird also in einer externen HTML Datei gepflegt und dem Render-Prozess ein ViewModel übergeben. Also echtes Templating.

Bei Dir muss ja jedes Mal der Code angefasst werden, wenn man ne HTML-Farbe ändern.
Das ist ja Quatsch 😃

PS: in den korrekten Forenbereich verschoben.