Отправка почты с использованием c # и Lotus Notes с использованием клиента - PullRequest
3 голосов
/ 27 декабря 2011

У меня проблемы с поиском простого SDK для интеграции Notes-клиента из моего приложения c # winform.

Требования: в приложении ac # WinForm я должен отправлять уведомления по электронной почте.Эти электронные письма должны храниться в папке «Отправленные» почтового клиента конечного пользователя.Люди, получающие электронные письма, должны видеть, что почта приходит не из приложения, а из чужого почтового ящика.

Подход. Поскольку мне нужно хранить электронные письма в папке «Отправленные» конечного пользователя, яЯ подумал, что я должен использовать некоторые Notes-api и позволить клиентскому приложению позаботиться о хранении и доставке электронных писем.В качестве альтернативы используйте позднюю привязку.

Проблема: у меня не установлен Lotus Notes, и я не устанавливаю его (я могу протестировать на другом компьютере, не являющемся разработчиком).Видимо, единственный способ получить надлежащие interop-dll - это загрузить и установить приложение Lotus Notes.

Вопросы: - Из того, что я прочитал, я понял, что есть два interop-dll: 1 для сервера (Domino)) и 1 для клиента (Примечания).Последний поддерживает только 32-битную версию клиента.Это верно?- У кого-нибудь есть ссылка для скачивания на SDK или DLL, что мне нужно?

1 Ответ

0 голосов
/ 27 декабря 2011

На самом деле есть три варианта: взаимодействие COM из кода кода, взаимодействие COM из кода сервера или классы OLE из кода клиента.Последнее требует, чтобы клиент Notes не только был установлен, но и фактически работал, когда ваш код отправляет сообщение, поскольку вызовы OLE фактически управляют интерфейсным интерфейсом клиента для выполнения работы.Вы, вероятно, не хотите этого.

Тем не менее, я думаю, что вам все равно будет лучше отказаться от своих предпочтений «скорее не устанавливать».Помимо уровня COM Interop, на компьютере, где выполняется код, должны быть установлены основные DLL-библиотеки Notes, независимо от того, какой API вы используете для разработки Notes / Domino.Это означает, что вы должны иметь либо сервер Domino, либо клиент Notes, установленный на поле, где будет выполняться код.(Единственное исключение - для Java-программистов, которые могут использовать API, который делает вызовы IIOP, к API-интерфейсу удаления, который выполняется на сервере Domino.)

Да, я знаю, вы сказали, что сделаете позднюю привязкуИ теоретически вы можете избежать установки Notes clode на свою машину для разработки, если она есть на вашей тестовой машине.Но в этом случае ваша тестовая машина действительно будет быть вашей машиной разработки для этой части проекта.Там вы закончите отладку и модификацию своего кода, и вы сделаете это без помощи компилятора.Я не вижу смысла упускать преимущества раннего связывания во время компиляции только для того, чтобы не использовать Lotus Notes на своем компьютере.Это не кусается, на самом деле; -)

Что касается ваших конкретных вопросов, единственный доступный клиентский код - 32-битный, и основные интерфейсы DLLS и COM идут с ним.Загрузите пробную версию клиента здесь .Однако вы действительно должны загрузить бесплатную версию Domino Designer здесь , которая включает в себя клиентский код, а также все файлы справки разработчика и примеры.В качестве альтернативы вы могли бы установить 64-битный код сервера Domino вместо клиентского кода, и 64-битные интерфейсы COM существуют - однако они не поддерживаются IBM, и есть некоторые вещи, которые не работают.

...