JS ActiveXObject Outlook.Application按字节数组添加atachment

时间:2017-12-18 14:17:38

标签: javascript outlook activex

我尝试使用js打开Outlook并插入附件

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

这是我的代码:

(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是未定义的并且Attachment是未定义的...我怎么能像c#一样按字节数组附加文件?

tnx很多

1 个答案:

答案 0 :(得分:1)

Attachments.Add只接受表示完全限定文件名的字符串或指向另一个Outlook项目的指针(例如MailItem)。

如果要从内存中添加附件,扩展MAPI(C ++或Delphi)或Redemption(任何语言)是唯一的方法