我可以使用 Outlook 加载项保存电子邮件并更新用户 PC 上的文件吗
Can I use an Outlook Add-In to save an email and also update a file on the users PC
我正在尝试将下面的代码转换为带有 xml.manifest 的 Microsoft 加载项,它可以上传到云端,每次 Outlook 更新时都会下载,因为目前我们必须重新添加它到每个人的电脑。我们使用带有 Add-in Express 的 COM-addin,但想摆脱它。 最终产品需要将名称为'email-import.msg'的邮件保存在某个文件夹“C:\mgatemp\user-zan”中,并更新另一个文件以表明电子邮件已存放在那里。
以下供参考
var msg = this.OutlookApp.ActiveExplorer().Selection[1];
if (msg is Outlook.MailItem)
{
try
{
string basepath = @"c:\mgatemp\";
Outlook.MailItem mailitem = (msg as Outlook.MailItem);
mailitem.SaveAs(basepath + user + "-zan" + @"\email-import.msg");
FileStream myFileStream = File.Open(basepath + user + "-zan" + @"\sentinel.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
myFileStream.Close();
myFileStream.Dispose();
System.IO.File.SetLastWriteTimeUtc(basepath + user + "-zan" + @"\sentinel.txt", DateTime.UtcNow);
}
catch
{
MessageBox.Show("could note write for user zan/sentinel" + user);
}
基于 JS 的插件无法以 MSG 格式保存消息 - 该格式是 Windows Outlook 特定的(它是基于 IStorage
的)并且只能在 Outlook 对象模型和扩展 MAPI 中访问框(仅限 Windows)。 JS也无法访问本地文件系统。
这不可能。您可能会考虑稍微更改加载项的实现。 Outlook Web 加载项 运行 在 Outlook 中当前所选项目的上下文(项目的上下文)下,并且没有对文件系统的完全访问权限。通常 Web 应用程序 运行 在沙盒环境中,其中文件 IO 操作是在浏览器的缓存文件夹上执行的。
我正在尝试将下面的代码转换为带有 xml.manifest 的 Microsoft 加载项,它可以上传到云端,每次 Outlook 更新时都会下载,因为目前我们必须重新添加它到每个人的电脑。我们使用带有 Add-in Express 的 COM-addin,但想摆脱它。 最终产品需要将名称为'email-import.msg'的邮件保存在某个文件夹“C:\mgatemp\user-zan”中,并更新另一个文件以表明电子邮件已存放在那里。
以下供参考
var msg = this.OutlookApp.ActiveExplorer().Selection[1];
if (msg is Outlook.MailItem)
{
try
{
string basepath = @"c:\mgatemp\";
Outlook.MailItem mailitem = (msg as Outlook.MailItem);
mailitem.SaveAs(basepath + user + "-zan" + @"\email-import.msg");
FileStream myFileStream = File.Open(basepath + user + "-zan" + @"\sentinel.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
myFileStream.Close();
myFileStream.Dispose();
System.IO.File.SetLastWriteTimeUtc(basepath + user + "-zan" + @"\sentinel.txt", DateTime.UtcNow);
}
catch
{
MessageBox.Show("could note write for user zan/sentinel" + user);
}
基于 JS 的插件无法以 MSG 格式保存消息 - 该格式是 Windows Outlook 特定的(它是基于 IStorage
的)并且只能在 Outlook 对象模型和扩展 MAPI 中访问框(仅限 Windows)。 JS也无法访问本地文件系统。
这不可能。您可能会考虑稍微更改加载项的实现。 Outlook Web 加载项 运行 在 Outlook 中当前所选项目的上下文(项目的上下文)下,并且没有对文件系统的完全访问权限。通常 Web 应用程序 运行 在沙盒环境中,其中文件 IO 操作是在浏览器的缓存文件夹上执行的。