2010-07-28 4 views
1

배경 : 나가는 이메일에 첨부 파일을 추가하는 Outlook addin에서 작업하고 있습니다. 모든 버전의 Outlook에서 지원이 필요합니다.Outlook이 기본적으로 전자 메일에 디지털 서명을하는지 여부를 확인하는 방법은 무엇입니까?

메일 항목을 디지털 서명으로 서명 한 경우 메일 항목을 저장하지 않으면 일반적으로이 mailItem에 첨부 파일을 추가 할 수 없습니다. 그러면 mailitem에서 서명이 제거됩니다. 나에게 이것은 다소 기대되는 행동이다. 이상한 건 없어요.

사용자가 디지털 서명을 켜거나 (UI를 통해 또는 Outlook 기본 동작으로) 문제를 해결 한 다음 다시 끄는 것이 문제입니다. MailItem은 더 이상 서명되지 않지만 여전히 마치이 메일에 첨부 파일을 추가 할 수 없습니다.

이유를 설명하는 뉴스 그룹 게시물을 발견했습니다. Outlook API를 통해 검색된 개체는 실제 개체가 아닌 것처럼 보입니다. 순간

http://www.tech-archive.net/Archive/Development/microsoft.public.win32.programmer.messaging/2006-02/msg00000.html

는, 나는 정중하게이 문제를 해결하기 위해 노력 포기했습니다; MailItem을 임시 파일로 저장하면 성능상의 이유로 MailItem이 signed에서 unsigned로 바뀌었을 때만 저장하려고합니다. 또 다른 허용 가능한 대안은 디지털 서명이 기본적으로 활성화되었는지 여부를 탐지하는 것입니다. 디지털 서명의 기본 설정과 관련된 레지스트리 항목이 있지만 이는 단지 제안 일 뿐이며 전자 메일이 기본적으로 서명되었는지 여부를 정확하게 반영하지 않습니다.

아이디어가 있으십니까?

답변

0

C++에서 EMAPI를 사용하여 IMessagePtr-> SaveChanges()를 호출 할 수 있다는 것이 밝혀졌습니다. 이는 꽤 잘 작동하는 것 같습니다. 안타깝게도 C#에서는 액세스 할 수 없습니다.

1

redemption api library을 사용하여 C#에서 해당 메서드를 호출 할 수 있습니다.

또한 확장 Mapi DLL에서 PInvoke 서명을 만들려고 했습니까?

+0

상환에서 전화가 실제로 작동하지 않았다는 것은 놀랍습니다. PInvoke는 좋은 생각입니다. 하지만 우리는 이미 C++ wrapper를 가지고 있습니다. – MauriceL

관련 문제