Я работаю над задачей, в которой мое приложение .net должно отправлять электронные письма с помощью клиента Lotus Notes (НЕ SMTP) с .NET с помощью Dominos.dll. Я также могу отправлять письма. Но проблема возникает, когда я закрываю свой почтовый клиент 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);