首页 > 解决方案 > 如何使用 python 访问仅托管在服务器上的 Lotus iNotes 邮箱?

问题描述

我正在尝试访问 Lotus iNotes 邮箱以通过 python 脚本下载一些附件文件。

邮箱仅托管在公司服务器上。我使用如下所示的 url 访问它:

https://the_company_server.com/mail/db.nsf

我在这里和其他网站上使用 win32com.client python 库阅读了多个线程,但它似乎只适用于本地 LotusNotes nsf 数据库,不适用于 iNotes 邮箱。

你知道是否有可能做这样的事情?如果有,哪个 python 库可以执行该操作?

非常感谢。

标签: pythonlotus-noteslotus-dominowin32comlotusscript

解决方案


Notes COM 类可以访问安装在同一台机器上的 Notes 客户机可以访问的任何远程 Domino 服务器。它不仅限于本地 NSF 文件。但是您必须在运行代码的机器上安装 Lotus Notes 客户端或 Domino Server 软件。这是访问为 API 提供服务的 Notes 核心 DLL 的唯一方法。正确设置后,NotesSession 类中的GetDatabase 方法将远程 Domino 服务器的名称作为第一个参数。此调用中使用的服务器名称与服务器的 ID 文件匹配,并由 Notes 客户端使用;它不一定与您用于 iNotes 访问的 URL 中使用的 DNS 名称相同。而且,显然,如果您尝试从组织网络外部访问服务器,您可能需要解决一些防火墙问题才能使其正常工作。

顺便说一句,有 COM 类和 OLE 类。COM 类植根于 Lotus.NotesSession,OLE 类植根于 Notes.NotesUIWorkspace 和 Notes.NotesSession。主要区别在于 COM 类不需要您实际运行 Notes 客户端。它只需要安装和配置。如果 Notes 客户端尚未运行,OLE 类将启动它。


推荐阅读