打开包含数千个接收者的新Outlook电子邮件

时间:2018-03-02 09:32:08

标签: c# email outlook

我最近尝试从C#windows窗体应用程序中打开一个新的Outlook电子邮件。

以下代码适用于大约200个收件人电子邮件地址:

Outlook.Application outlookApp = new Outlook.Application();
Outlook.MailItem oMailItem = (Outlook.MailItem) outlookApp.CreateItem(Outlook.OlItemType.olMailItem);
Outlook.Inspector oInspector = oMailItem.GetInspector;

Outlook.Recipients oRecipients = (Outlook.Recipients)oMailItem.Recipients;
foreach (String email in recipients)
{
    Outlook.Recipient oRecipient = (Outlook.Recipient)oRecipients.Add(email);
    oRecipient.Resolve();
}

oMailItem.Display(true);

它会打开一个新的Outlook邮件窗口,将收件人添加到相应的字段中,然后让我写下剩下的电子邮件。

问题:当我尝试添加超过200个收件人时,电子邮件窗口需要几分钟才会出现。接收者越多,出现的时间就越长。如果收件人大约超过500个,则邮件窗口根本不会出现。我的公司有用例,我需要添加多达10.000个收件人,例如特别公告。

我尝试在后台线程中打开此电子邮件窗口以查看它是否有帮助,但没有区别。

有没有办法让这么多的收件人工作? 或者Outlook是不是设计用于打开包含数千个收件人的电子邮件窗口?

1 个答案:

答案 0 :(得分:0)

正如许多评论所提到的,您不会一次性发送包含10,000个收件人的电子邮件。此外,Outlook完全是错误的工具。你需要直接去服务。如果您没有可用的Exchange(具有自己的API),请订阅批量发送服务。它们非常便宜,10K被认为是低容量的,每月只需花费几美元。他们通常每个月每个客户处理数百万。

我们将Mailgun用于我们的用户群,还有其他用户群。 Microsoft将SendGrid大量推送给Azure订阅者。 Mailgun的文档很好地解释了如何避免让自己被标记为垃圾邮件发送者:Email Best Practices

即使他们自己的批量邮寄服务“仅”支持一次批量1000个。

Sending Email

  

通过一次API调用,您最多可以发送1000封完全个性化的电子邮件。