2011-12-27 3 views
3

간단한 C# winform 응용 프로그램 내에서 Notes-Client를 통합하기위한 sdk를 찾는 데 문제가 있습니다.클라이언트를 사용하여 C# 및 Lotus Notes를 사용하여 메일 보내기

요구 사항 : C# WinForm 응용 프로그램에서 전자 메일로 알림을 보내야합니다. 이러한 전자 메일은 최종 사용자의 메일 클라이언트의 "보낸"폴더에 저장해야합니다. 이메일을받는 사람들은 메일이 응용 프로그램에서 온 것이 아니라 다른 누군가의 메일 함을보아야합니다.

접근 방식 : 최종 사용자의 보낸 편지함에 전자 메일을 저장해야하므로 일부 Notes-api를 사용해야하고 클라이언트 응용 프로그램이 전자 메일을 저장하고 배달하도록해야한다고 생각했습니다. . 또는 후기 바인딩을 사용하십시오.

문제 : Lotus Notes가 설치되어 있지 않고 설치되지 않았습니다. 다른 개발자가 아닌 컴퓨터에서 테스트 할 수 있습니다. 적절한 interop-dll을 얻을 수있는 유일한 방법은 Lotus Notes 애플리케이션을 다운로드하여 설치하는 것입니다.

Questions : - 내가 읽은 바에 따르면 두 개의 interop-dll이 있습니다 : 서버 (Domino) 1 개와 클라이언트 (Notes) 1 개가 있습니다. 후자는 클라이언트의 32 비트 버전 만 지원합니다. 그 맞습니까? - 누구나 다운로드 링크를 sdk 또는 dll이 필요합니까?

답변

0

사실 클린트 코드의 COM interop, 서버 코드의 COM interop 또는 클라이언트 코드의 OLE 클래스의 세 가지 옵션이 있습니다. 후자는 Notes 클라이언트가 설치 될뿐만 아니라 코드가 메시지를 보낼 때 실제로 실행되도록 요구합니다. OLE 호출은 실제로 클라이언트 프론트 엔드 UI로 하여금 작업을 수행하도록합니다. 당신은 아마 그것을 원하지 않을 것입니다.

그러나 나는 여전히 당신이 "오히려 그것을 설치하지 마십시오"환경 설정을 떨어 뜨리는 것이 더 낫다고 생각합니다. COM Interop 계층 외에도 Notes/Domino 개발에 사용하는 API와 상관없이 코드가 실행되는 시스템에 Notes 핵심 DLL을 설치해야합니다. 즉, 코드가 실행될 상자에 Domino 서버 또는 Notes 클라이언트가 설치되어 있어야합니다. 유일한 예외는 Domino 서버에서 실행되는 remove API에 대한 IIOP 호출을 만드는 API를 사용할 수있는 Java 프로그래머를위한 것입니다.

예, 늦은 바인딩을 수행한다고 말한 것을 알고 있습니다 ... 그리고 이론적으로 테스트 머신에있는 한 개발 용 컴퓨터에 Notes clode를 설치하는 것을 피할 수 있습니다. 하지만이 경우 실제로 테스트 머신은 이 될 것입니다.이 프로젝트의 개발 머신은입니다. 결국 코드를 ​​디버깅하고 수정하게 될 것이며, 컴파일러의 도움없이이 작업을 수행하게 될 것입니다. Lotus Notes를 시스템에서 보호하기 위해 초기 바인딩의 컴파일 타임 이점을 잃어 버리지는 않습니다. 그것은 실제로 물지 않습니다 ;-)

특정 질문에 사용 가능한 유일한 클라이언트 코드는 32 비트이고 핵심 DLL 및 COM 인터페이스가 함께 제공됩니다. 평가판 클라이언트 다운로드는 here입니다. 그러나 실제로해야 할 일은 무료 Domino Designer 다운로드 here을 얻는 것입니다. 여기에는 클라이언트 코드가 포함되어 있으며 모든 개발자 도움말 파일과 예제가 포함되어 있습니다. 또는 클라이언트 코드 대신 64 비트 Domino 서버 코드를 설치할 수 있으며 64 비트 COM 인터페이스는 존재하지만 IBM에서 지원하지 않으며 작동하지 않는 몇 가지 사항이 있습니다.

+0

답변 해 주셔서 감사합니다. 설치하고 싶지 않은 이유는 두 가지입니다. 이미 많은 소프트웨어가 설치되어 있고, 대부분은 거의 사용하지 않고 내 드라이브를 가득 채우고 PC를 느리게 만듭니다. DB2, MySQL, MSSQL, 오라클 클라이언트 및 목록에 간다.Notes 클라이언트가있는 모든 사용자가 내 응용 프로그램을 사용하는 것은 아닙니다. Outlook을 사용하여 후기 바인딩을 사용해야한다고 생각하게되었습니다. – Martin

+0

무료 버전의 Domino Designer가 있다는 것을 몰랐습니다. 버전 5가 여전히 많이 사용되고 많은 돈을 내야했던 요일에 다시 프로그래밍했습니다. ^^ 그렇게 지적 해 주셔서 감사합니다. 그럼에도 .Net SMTPClient를 사용하게 될 것 같습니다. 유지 관리하는 데 많은 어려움이 있습니다. 따라서 최종 사용자는 "보낸"폴더에 보낸 알림을 볼 수 있습니다. – Martin

+0

한 번 사용했던 또 다른 옵션이 있습니다. 내가 그 말을 할 수는 없지만 나는 그것을 말할 것이다. 적어도 하나의 서버에서 Domino HTTP 태스크를 켜는 지에 달려 있습니다. C# 코드에는 Notes API 코드가 전혀 필요하지 않습니다. 서버에서 실행되는 에이전트에 HTTP POST를 수행하기 만하면 에이전트의 코드 (LotusScript 또는 Java가 될 수 있음)가 실제 보내기 작업을 수행 한 다음 에이전트가 보낸 사람의 메일 파일을 열고 메시지를 저장합니다. 이 솔루션에는 '움직이는 부분'과 까다로운 세부 사항이 많이 있지만, 당시에 내가 처한 상황에 가장 적합한 솔루션이었습니다. –

관련 문제