2017-10-18 3 views
0

필드 및 콤보 상자라는 이름의 미리 정의 된 논리가있는 기존 Outlook 양식이 있습니다. 이 양식은 다른 아파트의 표준 입력이므로 양식을 변경하지 못하게 양식을 변경할 수 없습니다.사용자가 다운로드하기 전에 서버에 프로그래밍 방식으로 "Outlook 양식"을 미리 채우기

내가 할 수있는 일은 사용 가능한 정보가있는 서버 쪽에서 양식의 일부 필드를 동적으로 미리 채우고 최종 사용자에게 .msg 파일로 제공하는 것입니다. 사용자는 필자가 미리 채운 필드와 다른 필드를 수정할 수 있습니다.

내 질문은 어떤 API가 있습니까? 또는 "& 대체"트릭을 프로그래밍 방식으로 내 서버에서 Outlook 양식의 속성을 채우기 위해 사용할 수 있습니까? 그것이 도움이된다면 가치입니다.

$ NAME $을 속성 값에 넣은 다음 간단한 텍스트 바꾸기를 시도했지만 Outlook에서 .msg을 열 수 없습니다. 내부에 일부 체크섬 또는 종속성이 있다고 가정합니다. 데이터 구조.

선호하는 플랫폼은 .NET이나 Java이지만 다른 옵션도 좋습니다.

답변

1

Outlook 개체 Modle은 Namespace.OpenSharedItem을 사용하여 MSG 파일을 열 수 있지만 서비스 (예 : IIS)에서는 OOM을 사용할 수 없습니다.
당신은 열고 닷넷이나 자바의 경우 등 OpenIMsgOnIStg
를 사용하여 확장 MAPI (C++ 또는 델파이)를 사용하여 MSG 파일을 수정할 수 있습니다, 당신은 Redemption하고 RDOSession를 사용할 수 있습니다. GetMessageFromMsgFile 메서드 (RDOMail 개체 반환). RDOMail.Fields[]을 사용하여 속성을 수정 한 다음 RDOMail.Save을 호출하여 MSG 파일을 저장할 수 있습니다.
OutlookSpy에서 기존 MAPI 속성과 해당 DASL 이름을 볼 수 있습니다 (OpenIMsgOnIStg 버튼 클릭).

+0

감사합니다. Outlook 개체 모델이 작동합니다. 나는 서버의 Outlook 자동화가 공식적으로 지원되지 않는다는 것을 읽었지만, 적극적으로 그것을 막는 무언가가 있나? 다른 옵션보다 우수 해 보이며 추가 구매없이 즉시 사용할 수 있습니다. –

+0

서버가 문제가되지 않는 서비스입니다. Outlook이 중단되거나 중단됩니다. if의 질문이 아니라 언제. –

+0

서버가 새 프로세스로 cmd 도구를 시작하고 실제 office interop이 해당 도구에서 수행되면 차이가 있습니까? 나는 그것을 테스트했으며 같은 방식으로 작동하며, 1 초 이내에 파일을 제공 할 수 있습니다. 내가 스스로 테스트 할 수없는 것은 충돌 시나리오이며, 내가 묻는 이유는 ... –

관련 문제