2017-10-12 17 views
0

私はC#でOutlookプラグインを作成しようとしています。 私がしたいのは、添付ファイルを取得してそれを私のサーバーに送るためにbase64に変換することです。 私はそれを行う方法を理解することはできません。唯一の解決策は、ファイルを保存し、それを読んだり、base64に変えたり、削除したりすることです。これは非常に無駄に思われます。オンザフライでbase64へのOutlookの添付C#

これは私が今やっていることです。

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

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

       SendToApi("Attachment", json); 

      } 

答えて

0

ファイルとして添付ファイルを保存せずに添付ファイルの内容にアクセスしようとすると、Outlookオブジェクトモデルは役に立ちません。拡張MAPI(C++またはDelphiのみ)を使用して、添付ファイルのデータをストリーム(IAttach::OpenProperty(PR_ATTACH_DATA_BIN, IID_IStream, ...))として開くか、Redemptionを使用します。添付ファイルのオブジェクトがAsTextAsArrayなどのプロパティを公開します。

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 
関連する問題