我正在开展一项任务,我的.net应用程序应该使用Lotus Notes客户端(非SMTP)使用Dominos.dll发送带有.NET的电子邮件。我也能发邮件。但问题来自我关闭我的Lotus Notes邮件客户端并尝试运行我的不提供邮件的应用程序。原因,我认为它们存储在“外发邮件”中。再次,当我通过输入我的用户名和密码重新打开我的Lotus Notes客户端时,已经发送了“发送邮件”中的邮件。 一个绅士对她建议我,我连接到我的本地副本发送电子邮件,并告诉我将我的数据库名称更改为服务器数据库文件。我改变了与服务器的连接现在我收到此错误“数据库打开失败”。有趣的是,如果我使用“names.nsf”文件,我不会得到例外。但如果我改为我的“username.nsf”它无法连接并给我这个错误。但是,如果我使用“names.nsf”文件,当我关闭莲花笔记并运行我的应用程序时,邮件不会被传递。
以下是我用来发送电子邮件的代码。
oNotesSession = new NotesSession();
oNotesSession.Initialize("******"); //password
oNotesDatabase = oNotesSession.GetDatabase("servername", "names.nsf", false);
if (!oNotesDatabase.IsOpen)
oNotesDatabase.Open();
oNotesDocument.ReplaceItemValue("Form", "Memo");
oNotesDocument.ReplaceItemValue("SendTo", strToAddress);
oNotesDocument.ReplaceItemValue("body", mData.Body);
oNotesDocument.ReplaceItemValue("Subject", mData.Subject);
oNotesDocument.ReplaceItemValue("$KeepPrivate", "1");
oNotesDocument.ReplaceItemValue("postDate", DateTime.Now.ToShortDateString());
oItemValue = oNotesDocument.GetItemValue("SendTo");
oNotesDocument.Send(false, ref oItemValue);
答案 0 :(得分:0)
确保您可以使用通过.NET使用的相同登录名打开同一个数据库。换句话说,只需打开Notes客户端并尝试在服务器上打开该username.nsf文件。您可能无权使用该服务器。
你绝对不想发送来自names.nsf的电子邮件,(但理论上它仍然有用。)
BTW,在你调用oNotesDatabase.Open()之后;您需要创建Notes文档:
oNotesDocument = oNotesDatabase.CreateDocument();