c# - .Exe 文件未通过任务计划程序 C# 提供输出
问题描述
我有一个用于在 Outlook 上发送邮件的控制台应用程序。当我尝试通过双击运行它的 .exe 时,它运行良好并且电子邮件已发送,但是当我尝试通过 Windows 任务计划程序安排它时,它不会发送任何邮件。在任务计划程序中,它显示任务已成功完成,但不发送任何邮件。我尝试了针对同一类型问题提出的各种解决方案,但没有运气。请如果有人可以提出任何建议。
Application app = new Application();
MailItem mailItem = app.CreateItem(OlItemType.olMailItem);
mailItem.Subject = "Test mail";
mailItem.To = "xxx@microsoft.com";
mailItem.Body = "Test body";
mailItem.Send();
Console.WriteLine("mail send.....");
解决方案
Microsoft 目前不推荐也不支持任何无人值守、非交互式客户端应用程序或组件(包括 ASP、ASP.NET、DCOM 和 NT 服务)的 Microsoft Office 应用程序自动化,因为 Office 可能表现出不稳定的行为和/或在此环境中运行 Office 时出现死锁。
如果您正在构建在服务器端上下文中运行的解决方案,您应该尝试使用已确保无人值守执行安全的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方案。如果您使用来自服务器端解决方案的 Office 应用程序,该应用程序将缺少许多成功运行所需的功能。此外,您将承担整体解决方案稳定性的风险。
在Office 服务器端自动化的注意事项文章中阅读有关此内容的更多信息。
您可以考虑作为一种可能的解决方法:
- 使用 Exchange Web 服务,有关详细信息,请参阅开始在 Exchange 中使用 Web 服务。
- Outlook 所基于的低级 API - 扩展 MAPI。或者只是围绕 API 的任何第三方库,例如 Redemption。
推荐阅读
- c# - 如何创建 AEС、重采样和低通滤波器的音频单元链
- php - 如何使用 PHP 扩展覆盖内部 Zend 函数?
- vba - 将所有大写文本替换为 smallcaps 和 wdTitleSentence
- python - 扭曲的python scrapy失败类openssl图像没有下载
- html - 默认后如何在新网页上使用 react
- javascript - 如何在 JavaScript 代码中加载 PHP 文件?
- scala - 如何解决 Scala 调用中的 https 连接问题?
- java - 在 android studio 中解释来自 logcat 的错误消息
- javascript - 悬停在 Django 模板中的视频播放
- c++ - 优先级队列对对象排序不正确(用户定义的比较)