Windows 以编程方式处理新电子邮件和存储附件的最佳方式是什么

Windows 以编程方式处理新电子邮件和存储附件的最佳方式是什么,windows,email,exchange-server,exchange-server-2003,Windows,Email,Exchange Server,Exchange Server 2003,我有几个客户/供应商通过电子邮件向我分发报告。其中一些文件是巨大的,需要从电子邮件中删除并保存在文件共享中以供处理,以及控制邮箱大小 任何人都可以就自动下载和保存附件的推荐方法提供指导 我在MS Windows环境中(客户端和服务器计算机)。电子邮件位于Microsoft Exchange 2003电子邮件服务器上 首选使用Microsoft技术实现解决方案的一致性(C),但我愿意接受任何建议,无论是C、VBScript、Perl、Java、我应该购买的组件等 情景 每天bob@whysendm

我有几个客户/供应商通过电子邮件向我分发报告。其中一些文件是巨大的,需要从电子邮件中删除并保存在文件共享中以供处理,以及控制邮箱大小

任何人都可以就自动下载和保存附件的推荐方法提供指导

我在MS Windows环境中(客户端和服务器计算机)。电子邮件位于Microsoft Exchange 2003电子邮件服务器上

首选使用Microsoft技术实现解决方案的一致性(C),但我愿意接受任何建议,无论是C、VBScript、Perl、Java、我应该购买的组件等

情景 每天bob@whysendmereportsbyemail.com向我发送主题为“YYYY-MM-DD活动报告”的电子邮件,地址为 john@myemailaddress.com

每封电子邮件都有一个名为“ActivityReport YYYY MM DD HH MI SS.xls”的附件,我需要将其保存在 “C:\FilesFromBob\ActivityReport YYYY MM DD HH MI SS.xls”


提前感谢您的帮助。

Exchange 2003提供了一个WebDav API,您可以使用它访问电子邮件、联系人等。。从用户的帐户

关于这个问题已经有了一些答案。我以前使用过这种方法,几乎完全适用于您概述的情况,一旦您确定了WebDav API模型以及请求和响应的结构,提取电子邮件及其附件就不太困难了


还有其他与Exchange 2003()交互的方法,但我只尝试了WebDav方法,因为它似乎是最可靠的方法。

我终于编写了存储Outlook邮件的代码 不幸的是,这段代码在Outlook中运行,因此Outlook必须打开

我还没有研究如何安排跑步,但现在很容易做到

Sub SaveOutlookFileAttachments()


Dim oStores As Outlook.Stores
Dim oStore As Outlook.Store
Dim oFolders As Outlook.Folders
Dim oFolder As Outlook.Folder
Dim destFolder As String
Dim oItems As Outlook.Items
Dim oMsg As Outlook.MailItem
Dim oAttachments As Outlook.Attachments
Dim oAttachment As Outlook.Attachment
Dim oExplorer As Outlook.Explorer


destFolder = "\\NetworkShare\OrderDetailReport\"

On Error Resume Next
Set oStores = Application.Session.Stores

For Each oStore In oStores
    If oStore.DisplayName = "Inbox" Then
        oFolders = oStore.GetSearchFolders
        For Each oFolder In oFolders
        oItems = oFolder.Items
            For Each oMsg In oItems
                oAttachments = oMsg.Attachments
                For Each oAttachment In oAttachments
                    If InStr(1, oAttachment.FileName, "orderdetail_", vbTextCompare) Then
                        'MsgBox ("This File Needs to be Saved: " & oAttachment.FileName)
                        oAttachment.SaveAsFile (destFolder & oAtch.DisplayName)
                    End If
                Next
            Next

        Next

    End If

Next


End Sub