【问题标题】:Open a new Outlook Email from code behind - Buttons alignment Issue从后面的代码打开新的 Outlook 电子邮件 - 按钮对齐问题
【发布时间】:2017-12-29 11:33:19
【问题描述】:

我有一个程序,它会打开新的 Outlook 电子邮件窗口,其中预先填充了收件人、抄送、标题和正文。代码遵循此Programmatically Create an E-Mail Item

这几年来一直运行良好,最近它开始对一些用户产生一些问题,当新的电子邮件窗口打开时,发送字段似乎重叠(如下所示)

有人知道为什么要这样做吗?

【问题讨论】:

标签: c# .net outlook .net-4.5 outlook-2016


【解决方案1】:
【解决方案2】:

您的 Outlook 安装可能有缺陷,或者可能是由于您的显示器设置以及 Outlook 无法处理缩放设置这一事实造成的。

如果从exe 文件手动打开应用时看起来正常,则问题可能出在Office.Interop API 本身。

Process.Start 接近

您可以通过命令行参数创建邮件消息并自行运行进程:

System.Diagnostics.Process.Start(
   "C:\\Program Files (x86)\\Microsoft Office\\Office15\\OUTLOOK.EXE", 
    "/c ipm.note /m hello@example.com"));

Office15 是您的 Office 安装版本。不幸的是,这种方法不能让您添加其他字段,如 CC 等。

mailto: 接近

一个很好的选择可能是使用mailto: 协议,因为它不需要用户安装 Outlook,并且可以与任何电子邮件客户端一起使用,它仍然可以满足您的所有需求。要使用它,您需要构造 mailto: URI,例如:

var mailtoUri = "mailto:someone@example.com?subject=This%20is%20the%20subject&cc=someone_else@example.com&body=This%20is%20the%20body"

然后您启动该 URI 以打开用户默认分配的邮件客户端:

var startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = true;
startInfo.FileName = mailtoUri;
Process.Start(startInfo);

有关mailto: 协议的更多详细信息是available on MSDN

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-19
    • 1970-01-01
    • 2015-01-30
    • 1970-01-01
    • 2023-03-24
    • 2018-12-13
    • 1970-01-01
    • 2017-06-27
    相关资源
    最近更新 更多