使用c#构造Outlook任务和电子邮件邀请



我们的软件支持使用c#编写脚本。我们可以在软件接口中添加Using和Assembly引用。

我们的软件可以发送HTML正文邮件或普通电子邮件。

场景如下:

服务器上的计划任务在夜间运行,调用我们的脚本并自动发送电子邮件

我已经添加了程序集参考Microsoft.Office.Interop.Outlook,但我正在努力寻找发送任务或日历邀请的方法。

谢谢你的帮助。

谢谢

通常您创建一个新的邮件/任务/会议对象,设置Subject属性以便在我的收件箱中识别它,然后将收件人添加到该项目的Recipients集合中。然后检查收件人是否已解析,最后发送消息,例如:

private void CreateSendItem(Outlook._Application OutlookApp)
{
Outlook.MailItem mail = null;
Outlook.Recipients mailRecipients = null;
Outlook.Recipient mailRecipient = null;
try
{
mail = OutlookApp.CreateItem(Outlook.OlItemType.olMailItem)
as Outlook.MailItem;
mail.Subject = "A programatically generated e-mail";
mailRecipients = mail.Recipients;
mailRecipient = mailRecipients.Add("Eugene Astafiev");
mailRecipient.Resolve();
if (mailRecipient.Resolved)
{
mail.Send();
}
else
{
System.Windows.Forms.MessageBox.Show(
"There is no such record in your address book.");
}
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message,
"An exception is occured in the code of add-in.");
}
finally
{
if (mailRecipient != null) Marshal.ReleaseComObject(mailRecipient);
if (mailRecipients != null) Marshal.ReleaseComObject(mailRecipients);
if (mail != null) Marshal.ReleaseComObject(mail);
}
}

你可能会发现以下文章对你有帮助:

  • 如何:以编程方式创建和发送Outlook消息
  • 如何:以编程方式填充Outlook中的To,CC和BCC字段
  • 如何:创建一个新的Outlook约会项目
  • 如何:在Outlook
  • 中创建新的任务项
  • 如何:以编程方式创建和发送Outlook消息

请注意,微软目前不推荐,也不支持,从任何无人值机的,非交互式的客户端应用程序或组件(包括ASP, ASP, ASP. xml)自动化Microsoft Office应用程序。. NET、DCOM和NT服务),因为在此环境中运行Office时,Office可能会表现出不稳定的行为和/或死锁。

如果您正在构建一个在服务器端上下文中运行的解决方案,那么您应该尝试使用那些对于无人值守执行是安全的组件。或者,您应该尝试找到至少允许部分代码在客户端运行的替代方案。如果从服务器端解决方案使用Office应用程序,则该应用程序将缺乏成功运行所需的许多功能。此外,您将在整个解决方案的稳定性方面承担风险。请参阅Office服务器端自动化的注意事项一文了解更多信息。

最新更新