2017-10-12 11 views
0

나는 C#에서 Outlook 플러그인을 만들려고 노력해 왔습니다. 내가 원하는 것은 첨부 파일을 가져 와서 내 서버로 보내려면 base64로 바꾸는 것입니다. 나는 그것을 할 수있는 방법을 이해할 수 없다. 유일한 해결책은 파일을 저장하고 읽은 다음 base64로 바꾸고 삭제하는 것입니다. 이는 매우 낭비되는 것 같습니다.outlook attach to base64 on the fly C#

이것은 내가 지금하고있는 일입니다.

  for (int j = 1; j <= email.Attachments.Count; j++) 
      { 

       json = "{ 
         " \"Mail_Attachment_BLOB\" :\" " + email.Attachments[j] "\" }"; 

       SendToApi("Attachment", json); 

      } 

아이디어가 있으십니까?

답변

0

첨부 파일을 파일로 저장하지 않고 첨부 파일 내용에 액세스하려고하면 Outlook Object Model이 도움이되지 않습니다. 확장 MAPI (C++ 또는 Delphi 만 해당)를 사용하고 첨부 파일 데이터를 스트림 (IAttach::OpenProperty(PR_ATTACH_DATA_BIN, IID_IStream, ...))으로 열거 나 Redemption - 첨부 파일 객체가 AsText, AsArray 등의 속성을 나타낼 수 있습니다.

set Session = CreateObject("Redemption.RDOSession") 
    Session.MAPIOBJECT = Application.Session.MAPIOBJECT 
    set item = Session.GetMessageFromID(Application.ActiveExplorer.Selection(1).EntryID) 
    for each attach in item.Attachments 
    MsgBox attach.AsText 
    next