使用 Outlook 通过电子邮件发送临时文件
Email temporary file with Outlook
我想创建一个文件,将其作为附件通过电子邮件发送,然后使用 JScript 删除该文件。
问题在于过早删除文件会阻止Outlook将文件附加到电子邮件。
我将创建一个 MailItem 并使用类似于以下代码的内容显示它。电子邮件不会自动发送,但会显示,以便用户可以在必要时对其进行编辑。
var outlook = new ActiveXObject("Outlook.Application");
var msg = outlook.CreateItem(0);
msg.Recipients.Add(toAddress);
msg.Subject = subject;
msg.htmlbody = body;
msg.Attachments.Add(attachment);
msg.Display();
我的问题是,什么时候删除附件是安全的?我知道 MailItem 有事件,我可能会删除 AttachmentAdd 事件中的附件文件。但是,AFAIK,没有办法在JScript中订阅ActiveXObject事件。
我的想法:
- 如果 Attachments.Add 是同步的(或者如果 Display 等到所有附件都被读取),我可以立即删除该文件
- 我可以睡 x 秒钟,然后删除文件。
- 也许有一种方法可以订阅事件,但我还没有找到。
详:
出于所有意图和目的,此脚本都在 wscript 中运行。
这并非特定于任何 Outlook 版本。它应该适用于任何版本。
我还将在电子邮件中附加其他几个文件。
如果您有任何疑问,请直接询问。
我尝试了以下代码,它有效。
var fso = new ActiveXObject("Scripting.FileSystemObject");
var outlook = new ActiveXObject("Outlook.Application");
var msg = outlook.CreateItem(0);
msg.Subject = "Subject";
msg.Body = "Body";
msg.Attachments.Add(file);
fso.DeleteFile(file); // No problems.
msg.Display();
文档中没有提到它,但Attachments.Add()
似乎是同步的。
相关文章:
- 如何使用谷歌应用程序脚本从电子邮件中提取内联文件/图像
- 如何在不干扰电子邮件通知的情况下将眼镜保存在文本文件中
- 如何检查当前用户电子邮件是否已在客户端js文件中验证
- 从用户id和电子邮件的.csv文件在facebook上发送好友请求
- 如何在java中通过电子邮件发送渲染的html文件
- 使用 jQuery 上传电子邮件文件
- Phonegap插件:检索用户配置文件,电子邮件和Gmail
- 使用 Outlook 通过电子邮件发送临时文件
- 客户端 JavaScript CSV 文件生成和电子邮件附件
- 使用ASP发送电子邮件,但首先使用外部JS文件验证表单字段
- 通过解析云模块Sendgrid通过电子邮件发送文件
- 如何使用我的表单将附件文件包含到电子邮件中
- 用户单击提交后,页面将转到php文件.它如何保留在HTML文件中并将表单信息提交到电子邮件中
- 插入电子邮件后下载文件
- VBScript检查文件夹中的文件,并通过电子邮件发送过去1小时未更新的文件名
- 如何将多个文件附加到电子邮件并动态地将其发送到多个emailid php
- 避免使用垃圾邮件文件夹中的重要电子邮件通知
- 通过PHP电子邮件将图像文件附加到电子邮件表单
- 使用mailto Javascript向电子邮件添加本地文件的链接
- 发送HTML Div作为电子邮件文件附件