Outlook Interop-Mail-Formatierungen

Ich habe eine Anwendung in C# geschrieben, verwendet Outlook Interop, um öffnen Sie eine neue E-mail-Nachricht pre-gefüllt mit details, die der Benutzer Bearbeiten kann, bevor Sie manuell senden.

var newMail = (Outlook.MailItem)outlookApplication.CreateItem(
    Outlook.OlItemType.olMailItem);
newMail.To = "[email protected]";
newMail.Subject = "Example";
newMail.BodyFormat = Outlook.OlBodyFormat.olFormatHTML;
newMail.HTMLBody = "<p>Dear Example,</p><p>Example example.</p>";
newMail.Display(false);

Wenn der Benutzer eine neue Nachricht erstellt manuell die schriftart ist festgelegt Calibri oder welche Schrift hat der user eingestellt als Standard. Das problem ist, dass der text in der automatischen E-Mail wird in Times New Roman Schrift, die wir nicht wollen.

Wenn ich die Quelle eines der gelieferten E-Mails kann ich sehen, dass Outlook hat explizit die schriftart festlegen, in der E-Mail Quelle:

//Automated
p.MsoNormal, li.MsoNormal, div.MsoNormal
{
    margin:0cm;
    margin-bottom:.0001pt;
    font-size:12.0pt;
    font-family:"Times New Roman";
}

//Manual
p.MsoNormal, li.MsoNormal, div.MsoNormal
{
    margin:0cm;
    margin-bottom:.0001pt;
    font-size:11.0pt;
    font-family:"Calibri","sans-serif";
}

Warum sind die Formate unterschiedlich und wie kann ich die automatische E-Mail an die Benutzer verwenden default-Einstellungen? Ich bin mit der version 11 der interop-Assemblys, wie es ist ein mix von Outlook 2003 und 2007 installiert.

Schreibe einen Kommentar