【问题标题】:Send mail using c# and Lotus Notes using Client使用 C# 和 Lotus Notes 使用客户端发送邮件
【发布时间】:2011-12-27 12:59:55
【问题描述】:

我找不到一个简单的 sdk 来从我的 c# winform 应用程序中集成 Notes-Client。

要求: 在 c# WinForm 应用程序中,我必须通过电子邮件发送通知。这些电子邮件应存储在最终用户邮件客户端的“已发送”文件夹中。收到邮件的人应该会看到邮件不是来自应用程序,而是来自其他人的邮箱。

方法: 由于我需要将电子邮件存储在最终用户的 Sent 文件夹中,我认为我应该使用一些 Notes-api 并让客户端应用程序负责存储和传递电子邮件。或者使用后期绑定。

问题: 我没有安装 Lotus Notes,也没有安装它(我可以在不同的非开发人员机器上进行测试)。显然,获得正确 interop-dll 的唯一方法是下载并安装 Lotus Notes 应用程序。

问题: - 根据我的阅读,我了解到有两个 interop-dll:1 个用于服务器(Domino),1 个用于客户端(Notes)。后者仅支持 32 位版本的客户端。那是对的吗? - 有人有我需要的 sdk 或 dll 的下载链接吗?

【问题讨论】:

    标签: c# .net com-interop lotus-notes


    【解决方案1】:

    实际上有三个选项:来自客户端代码的 COM 互操作、来自服务器代码的 COM 互操作或来自客户端代码的 OLE 类。后者不仅要求安装 Notes 客户端,而且在您的代码发送消息时实际运行,因为 OLE 调用实际上驱动客户端前端 UI 来完成工作。你可能不想要那个。

    但是,我认为放弃“宁愿不安装”偏好仍然会更好。除了 COM 互操作层之外,您还必须在运行代码的机器上安装 Notes 核心 DLL,无论您使用什么 API 进行 Notes/Domino 开发。这意味着您必须在运行代码的机器上安装 Domino 服务器或 Notes 客户端。 (唯一的例外是 Java 程序员,他们可以使用 API 对在 Domino 服务器上执行的删除 API 进行 IIOP 调用。)

    是的,我知道你说过你会做后期绑定...理论上你可以避免在你的开发机器上安装 Notes clode,只要它在你的测试机器上。但在这种情况下,您的测试机器将真正成为您的这部分项目的开发机器。你最终会在那里调试和修改你的代码,而且你将在没有编译器帮助的情况下完成它。我不认为仅仅为了让 Lotus Notes 远离您的机器而失去早期绑定的编译时优势有什么意义。它不会咬人,真的 ;-)

    至于您的具体问题,唯一可用的客户端代码是 32 位的,并且附带核心 DLLS 和 COM 接口。试用客户端下载可用here。但是,您真正应该做的是获得免费的 Domino Designer 下载 here,其中包括客户端代码,还包括所有开发人员帮助文件和示例。作为替代方案,您可以安装 64 位 Domino 服务器代码而不是客户端代码,并且确实存在 64 位 COM 接口——但是 IBM 不支持它们并且有些东西不起作用。

    【讨论】:

    • 非常感谢您的回答。我不想安装的原因有两个:我已经安装了很多软件,其中大部分我几乎不使用,它会填满我的驱动器并使我的电脑变慢,例如DB2、MySQL、MSSQL、Oracle 客户端等等不胜枚举。再加上并非我的应用程序的每个用户都有 Notes 客户端这一事实:他们使用 Outlook,这让我认为我应该使用后期绑定。
    • 我不知道 Domino Designer 有免费版本:我在第 5 版还很普遍的时候编写了它,你必须为此付出很多 ^^ 所以谢谢也指出了这一点。不过,看起来我毕竟还是会使用 .Net SMTPClient:维护起来很麻烦,只是为了让最终用户可以在他们的“Sent”文件夹中看到发送的通知。
    • 还有一个选项,我用过一次。不能说我推荐它,但我会提到它。这取决于至少在一台服务器上打开 Domino HTTP 任务。您的 C# 代码根本不需要任何 Notes API 代码。它只是对在服务器上运行的代理执行 HTTP POST,代理中的代码(可以是 LotusScript 或 Java)执行实际的发送操作,然后代理打开发件人的邮件文件并保存消息。这个解决方案中有很多“移动部件”和棘手的细节——但它是我当时处理的情况的最佳解决方案。
    猜你喜欢
    • 2017-05-27
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    相关资源
    最近更新 更多