2017-12-18 90 views
0

我试图用js打开outlook的ActiveX并插入附件JS ActiveXObject Outlook.Application按字节数组添加缓存

但我的附件是字节数组而不是本地文件或链接。

这ismy代码:

(function() { 
    if ('ActiveXObject' in window) { 
     try { 
      var app = new ActiveXObject('Outlook.Application'); 
      var mailItem = app.CreateItem(0); 
      mailItem.Subject = 'test'; 
      mailItem.HTMLBody = ''; 
      mailItem.To = ''; 
      mailItem.Cc = ''; 
      mailItem.Bcc = ''; 
      ms = new MemoryStream(); 
      attach = new Attachment(ms, 'test.txt', Encoding.UTF8, System.Net.Mime.MediaTypeNames.Text.Plain); 
      mailItem.Attachments.Add(attach); 
      mailItem.display(); 
     } catch (ex) { 
      alert('Outlook configuration error : ' + ex.message); 
     } 
    } 
})() 

但部份JS编译器说的MemoryStream是不确定的,附件是不确定的...我如何可以将文件通过字节数组,如C#?

TNX很多

回答

1

Attachments.Add只需要表示一个完全合格的文件名或一个指针到另一个Outlook项目(如MailItem)的字符串。

如果你想从内存中添加附件,扩展MAPI(C++或Delphi)或Redemption(任何语言)是唯一的方式来做到这一点

+0

我怎么能做到这一点与MAPI? – kfir

+0

您不能使用JavaScript的扩展MAPI。 –