Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Versendete Email wird unter Outlook 2007 oder 2013 falsch dargestellt
Edzio
myCSharp.de - Member



Dabei seit:
Beiträge: 68

Themenstarter:

Versendete Email wird unter Outlook 2007 oder 2013 falsch dargestellt

beantworten | zitieren | melden

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ß
Attachments
private Nachricht | Beiträge des Benutzers
witte
myCSharp.de - Member



Dabei seit:
Beiträge: 966

beantworten | zitieren | melden

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".
Zitat von Edzio
Kann das mit dem FirmenMail-Server zusammenhängen, dass er bestimmte Styles blockiert?
Wieso? Es fehlen doch nur die Styles der Tabelle.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von witte am .
private Nachricht | Beiträge des Benutzers
Edzio
myCSharp.de - Member



Dabei seit:
Beiträge: 68

Themenstarter:

beantworten | zitieren | melden

ok danke,
dann versuch ich das mal.


Gruß
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16152

beantworten | zitieren | melden

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.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers