0

我有电子邮件进入我的 hmailserver。我需要编写规则/脚本来接收电子邮件(都有附件),并提取它们各自包含的文件。

如果您可以帮助我将这些提取的文件分类到我的 D:/ 驱动器上的特定位置,则可以加分!

4

2 回答 2

1

您可以定义一个函数SaveAttachments并从OnDeliverMessage事件调用

    Sub OnDeliverMessage(oMessage)
       call SaveAttachments(oMessage)
    End Sub

''''''''''''''''

    Sub SaveAttachments(oMessage)
    ' this routine saves file attachments that have the specified
    ' FileExtensions. 


      Dim SaveFolder   'where to store attachments. This folder must already exist. 
      SaveFolder = "c:\path_to_folder\"     ' trailing slash is required

      Dim SavedFile

      Dim FileExtensions ' set to the file attachment extensions you want to save
      FileExtensions = "(pdf|doc)"  

      Dim oAttachment    
      Dim oRegExp 
      Set oRegExp = new RegExp    
      For oAttachment = 0 to oMessage.Attachments.Count-1
      ' Test for specified attachments
       with oRegExp
        .Pattern = "^.*\."& FileExtensions & "$" 
        .IgnoreCase = True
        .Global = False
       end with
       if (oRegExp.test(oMessage.Attachments(oAttachment).Filename)) Then

         SavedFile = SaveFolder & Left(Right(oMessage.Filename,42),38) & "." & oAttachment & "." & oMessage.Attachments(oAttachment).Filename
         oMessage.Attachments(oAttachment).SaveAs(SavedFile)
         ' uncomment below to Delete Attachment from message
         'oMessage.Attachments(oAttachment).Delete
       End If 
      Next
      Set oRegExp = nothing

    End Sub
于 2018-03-16T15:16:05.400 回答
0

对于可能的方法,首先:使用您选择的语言的 IMAP,连接到想要的帐户,然后搜索 imap 正文解析代码以将附件提取到所需位置。第二种可能性是在 EventHandler 文件中的 vbscript 中使用服务器端脚本,您的工作是实现此方法

        Sub OnDeliverMessage(oMessage)
Enter code Here

    '   End Sub
于 2015-08-21T10:53:08.023 回答