0

我使用 Lotus notes 在我的 ASP.NET 和 C# Web 应用程序中发送电子邮件。它在调试模式下发送电子邮件,但是如果我在本地 IIS 服务器上发布它不会发送任何电子邮件。

Domino.NotesSession oNotesSession = null; ;
Domino.NotesDatabase oNotesDatabase = null;
Domino.NotesDocument oNotesDocument = null;
Domino.NotesDocument oNotesDocumentForOther = null;
object oItemValue = null;
bool flag = false;

try
{
    String UserName = "";
    try
    {
        oNotesSession = new Domino.NotesSession();
    }
}

我在上面的行中得到以下错误

{System.OutOfMemoryException:检索具有 CLSID {29131539-2EED-1069-BF5D-00DD011186B7} 的组件的 COM 类工厂失败,原因是以下错误:8007000e。

4

2 回答 2

1

听起来,运行 IIS 的帐户无法使用 Lotus Notes COM DLL 或 notes.ini 文件。您能否更改您的 IIS 应用程序池以在您的帐户下运行(您用于访问 Lotus Notes 的同一帐户?)

或者,如果您只是发送电子邮件,是否有机会将 Lotus Notes 客户端完全排除在外,然后通过 SMTP 发送到 Lotus Notes 服务器(或您域中的任何其他 SMTP 服务器?)

于 2012-05-24T12:53:25.040 回答
0

肯几乎可以肯定是正确的,但是还有另一件事需要考虑。如果您打算在 64 位服务器上部署 ASP 项目,您应该知道 Domino Interop COM 类不能作为 64 位代码使用,并且IBM 在 Win64 上不支持32 位版本。可以通过安装 Domino 并为类手动注册 DLL 来使其工作,但类中的某些方法存在已知问题,IBM 不打算修复它们。

所以我同意你最好编写代码来发送 SMTP 消息。

于 2012-05-24T21:30:56.657 回答