我正在尝试将多个电子邮件地址传递给我的邮件客户端(尝试过Thunderbird和Windows 10s集成邮件应用程序)。不幸的是,Process.Start()命令似乎有一个限制(~2000个字符)。下面我在Visual Studio中编写的简单测试代码作为WPF应用程序:
private void Button_Click(object sender, RoutedEventArgs e)
{
string mail = "mailto:test@test.com?subject=BlaBla&bcc=";
for (int i = 0; i < 1000; i++)
{
mail = mail + "test@test.com" + i + ",";
}
Process.Start("mailto: "+mail);
}
它的工作正常,直到第125个地址,而它应该在我的测试中通过1000个地址。 是否有解决方法或完全不同的解决方案来克服我的问题? 谢谢!
答案 0 :(得分:0)
我用&#34; UseShellExecute = false解决了问题;&#34;来自&#34; ProcessStartInfo&#34;的选项。这将调用createprocess(),它允许命令行中包含32767个字符。我读到这不是最好的做法,但它对我有用。 您必须使用已停用的UseShellExecute提供完整路径,例如:
string mail = Environment.GetEnvironmentVariable("ProgramFiles(x86)") + "\\Mozilla Thunderbird\\thunderbird.exe";