Wir haben ein VSTO Addin für Outlook 2010/2007 geschrieben.
An einer Stelle muss unser Addin einfache Text-E-Mails über ein Ribbon-Steuerelement in HTML konvertieren. Dies verursacht ein seltsames Verhalten in Outlook:
- Wir verwenden das COM-Objekt MailItem
- Wir setzen MailItem.HTMLBody
- Die E-Mail wird in HTML konvertiert, aber aus irgendeinem Grund ist die Schriftart Times New Roman mit 10pt.
Die Standardschriftart in Outlook ist Calibri 11pt, was unsere E-Mail-Konvertierung für den Benutzer ziemlich seltsam aussehen lässt. Es funktioniert wie erwartet, wenn Sie die vorhandene Schaltfläche in Outlook zur Konvertierung in HTML verwenden, aber nicht, wenn Sie die Schaltfläche unseres Addins verwenden.
Also haben wir Folgendes versucht:
- MailItem.BodyFormat im Voraus festlegen
- Umrahmt unseren E-Mail-Text mit:
<span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'></span>
(Diese Idee kam uns, als wir die Quelle einer neuen Outlook-E-Mail sahen)
Einpacken der <span>
Tag um den E-Mail-Text herum funktionierte so weit, dass die Schriftart in Calibri geändert wurde, aber die Schriftgröße blieb bei 10pt...
Gibt es eine bessere Möglichkeit, dies zu tun? Eine andere Umgehung?
EDIT, funktionierender Code:
if (_mailItem.BodyFormat != OlBodyFormat.olFormatHTML)
{
_mailItem.GetInspector.CommandBars.ExecuteMso("MessageFormatHtml");
}
_mailItem ist ein Microsoft.Office.Interop.Outlook.MailItem.