gpt4 book ai didi

c# - Outlook Interop,邮件格式

转载 作者:太空狗 更新时间:2023-10-29 18:33:40 25 4
gpt4 key购买 nike

我有一个用 C# 编写的应用程序,该应用程序使用 Outlook Interop 打开一封新邮件,该邮件消息中预先填充了用户可以在手动发送之前编辑的详细信息。

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

当同一用户手动创建新消息时,字体设置为 Calibri 或用户设置为默认字体的任何字体。问题是自动电子邮件中的文本显示为我们不想要的 Times New Roman 字体。

如果我查看其中一封已发送电子邮件的来源,我可以看到 Outlook 已在电子邮件来源中明确设置字体:

// 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";
}

为什么格式不同?如何让自动发送的电子邮件使用用户的默认设置?我使用的是互操作程序集的版本 11,因为混合安装了 Outlook 2003 和 2007。

最佳答案

这完全令人沮丧。

当您用 Google 搜索问题时,有无数的答案告诉您只需在 CSS 中设计文本,这无济于事。 Yeeessss,很好,如果您正在生成完整的电子邮件并且可以设计/控制整个文本。但在您的情况下(和我们的情况下),目的是使用一些初始文本启动电子邮件,最终用户添加他自己的文本。这是他在 Times New Roman 中不断呈现的附加文本。

我们找到的解决方案是从另一个方向解决问题。那就是将 Outlook 中的基本/底层默认设置修复为我们选择的字体而不是 Times New Roman。

这可以通过以下方式完成:

  1. 打开 Word(是的,不是 Outlook)
  2. 转到选项 -> 高级 -> Web 选项
  3. 更改“字体”选项卡中的默认字体

视频在这里:
http://www.youtube.com/watch?v=IC2RvfoMFz8

如果您需要以编程方式控制或改变字体,我很感激这没有帮助。但对于那些只希望基本电子邮件字体不是从代码生成电子邮件时使用 Times New Roman 的客户来说,这可能会有所帮助。

关于c# - Outlook Interop,邮件格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1066870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com