Outlook 我可以将哪个OlSaveAsType添加到MailItem SaveAs方法中?

Outlook 我可以将哪个OlSaveAsType添加到MailItem SaveAs方法中?,outlook,vsto,outlook-addin,Outlook,Vsto,Outlook Addin,我正在从资源管理器获取当前选定的邮件项,并将其保存到本地文件系统。然后将文件上载到服务器。我的问题是有时服务器(我无法控制)返回的文件格式无效 我使用以下代码保存邮件项: oMailItem.SaveAs("C:\path\savedEmail.msg") 这将创建一个174kb大小的文件。如果添加olMSG的OlSaveAsType,则得到相同的文件大小 如果我使用Outlook UI保存完全相同的电子邮件,则选择/建议的邮件格式为Unicode。这将生成一个约251kb的文件,即更大的文件

我正在从资源管理器获取当前选定的邮件项,并将其保存到本地文件系统。然后将文件上载到服务器。我的问题是有时服务器(我无法控制)返回的文件格式无效

我使用以下代码保存邮件项:

oMailItem.SaveAs("C:\path\savedEmail.msg")
这将创建一个174kb大小的文件。如果添加olMSG的OlSaveAsType,则得到相同的文件大小

如果我使用Outlook UI保存完全相同的电子邮件,则选择/建议的邮件格式为Unicode。这将生成一个约251kb的文件,即更大的文件。如果我用上面的代码和olMSGUnicode保存它,那么我也会得到相同的文件大小

因此,我假设省略OlSaveAsType选项会将邮件项保存为olMSG

我目前还认为这可能会导致上传到服务器时出现一些问题


mailItem的哪个属性告诉我要使用哪个OlSaveAsType?我可以安全地在所有保存中使用olMSGUnicode吗?

是的,您可以在所有现代版本的Outlook上安全地使用olMSGUnicode格式


但真正的问题是为什么服务器(?!)返回一个格式无效的错误?它被破坏了吗?能否成功打开发送到服务器的相同文件?您需要找出返回该错误的原因。

是的,这是Office 2016,所以我将实施它。我完全同意服务器的问题。我正在竭尽全力去做我能想到的一切。只有邮件有时会引起问题。包括其他Office文件在内的所有其他文件都没有问题。我认为这就是我保存它们的方式,因为Outlook UI似乎保存了.msg。你是说服务器从来都不喜欢.msg格式,还是只是在某些时候不喜欢?