Ich habe eine in C # geschriebene Anwendung, die Outlook Interop verwendet, um eine neue E-Mail-Nachricht zu öffnen, die mit Details gefüllt ist, die der Benutzer bearbeiten kann, bevor er sie manuell sendet.
%Vor%Wenn derselbe Benutzer manuell eine neue Nachricht erstellt, wird die Schriftart auf Calibri oder auf die Schriftart gesetzt, die der Benutzer als Standard festgelegt hat. Das Problem ist, dass der Text in der automatischen E-Mail in der Times New Roman -Schrift erscheint, die wir nicht möchten.
Wenn ich die Quelle einer der gelieferten E-Mails anschaue, kann ich sehen, dass Outlook die Schriftart explizit in der E-Mail-Quelle festgelegt hat:
%Vor%Warum unterscheiden sich die Formate und wie kann ich die automatische E-Mail-Funktion nutzen, um die Standardeinstellungen des Benutzers zu verwenden? Ich verwende Version 11 der Interop-Assemblies, da eine Mischung aus Outlook 2003 und 2007 installiert ist.
Da es sich um eine HTML-E-Mail handelt, können Sie das gewünschte Format einfach in den eigentlichen HTML-Text einbetten. Ich vermute, das ist, was Outlook tut, wenn Sie eine Nachricht von der Outlook-GUI erstellen.
Ich weiß eigentlich nicht, wie ich die Benutzereinstellungen erhalten soll. Ich habe die Outlook-API durchgesehen (es ist ein merkwürdiges Biest), aber ich habe nichts gesehen, was den Zugriff auf die Standardeigenschaften der Nachricht ermöglichen würde.
Es ist total frustrierend.
Es hilft nicht, wenn Sie das Problem lösen, gibt es unzählige Antworten, die Ihnen sagen, dass Sie den Text in CSS einfach stylen sollen. Yeeessss, gut, wenn Sie die vollständige E-Mail generieren und den gesamten Text stylen / steuern können. In Ihrem Fall (und in unserem Fall) besteht die Absicht darin, die E-Mail mit einem ersten Text zu starten, und der Endbenutzer fügt seinen eigenen Text hinzu. Es ist sein zusätzlicher Text, der in Times New Roman unfehlbar wiedergegeben wird.
Die Lösung, die wir gefunden haben, besteht darin, das Problem aus einer anderen Richtung zu lösen. Und das ist das Fixieren der Basis / Grundeinstellung in Outlook, um unsere ausgewählte Schriftart anstelle von Times New Roman zu sein.
Das kann gemacht werden durch:
Video hier:
Ссылка
Ich schätze, das hilft nicht, wenn Sie brauchen, um die Schriftart programmgesteuert zu steuern oder zu ändern. Aber für diejenigen, die mit Kunden arbeiten, die die Basis-E-Mail-Schriftart einfach auf nicht festlegen möchten, wenn E-Mails aus Code generiert werden, kann dies hilfreich sein.
Nach meiner Erfahrung verwendet das Erstellen einer E-Mail die Standard-E-Mail-Einstellungen.
Sie setzen GENAUMail.HTMLBody auf einen Wert, anstatt Ihren HTML-Code einzufügen. Ich wette, wenn Sie den Inhalt von HTMLBody untersucht haben, würde es mit etwas beginnen, wie der css-Code
JEDOCH, wenn Sie versuchen, von einem der E-Mail-Werte zu lesen, wird Ihr Benutzer das Sicherheits-Popup mit der Meldung "Ein Programm versucht auf ... blah bla bla" zuzugreifen.
Ich bin darauf gestoßen, als ich versucht habe, die Signatur des Benutzers beizubehalten. Ich habe nie einen guten Weg gefunden, es zu bekommen, ohne die Sicherheitsabfrage auszulösen.
Tags und Links c# outlook interop email stylesheet