从后面的代码打开一个新的Outlook电子邮件 - 按钮对齐问题

时间:2017-12-29 11:33:19

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

我有一个程序可以打开新的Outlook电子邮件窗口,其中包含预先填充的,cc,标题和正文。代码遵循此Programmatically Create an E-Mail Item

这项工作已经好几年了,最近它开始遇到一些用户的问题,当新的电子邮件窗口打开时,发送字段似乎重叠(如下所示)

enter image description here

任何人都知道为什么会这样做?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您的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