当通过任何ftp客户端上载文件时,如何在IIS 6.0 Web服务器中设置电子邮件通知警报?

时间:2013-04-04 20:04:27

标签: email iis vbscript ftp

我正在尝试通过任何FTP客户端上传文件时在IIS 6中设置电子邮件通知警报。有谁知道如何做到这一点?

我发现类似但却不明白如何实现它: http://forums.iis.net/t/1196793.aspx/1?How+to+add+email+notification+service+in+IIS+6+0+when+a+file+is+uploaded+via+FTP+

有没有人对此有任何见解?

function countFolders(strPath)
   dim objShell
   dim objFolder
   dim folderCount

   set objShell = CreateObject("shell.application")
   set objFolder = objShell.NameSpace(strPath)

   if (not objFolder is nothing) then
      dim objFolderItems

      set objFolderItems = objFolder.Items

      if (not objFolderItems Is Nothing) then
         folderCount=objFolderItems.Count
      end if

      set objFolderItem = nothing
   end if

   set objFolder = nothing
   set objShell = nothing

   countFolders=folderCount
end function

2 个答案:

答案 0 :(得分:0)

你引用的帖子基本上暗示了这一点:

  1. 创建一个脚本,用于检查文件夹(或文件夹)中的文件数(就像您一样)。
  2. 创建一个运行总数的文件。也许将此值保存到数据库或其他txt文件中。
  3. 如果文件数与上次运行支票的时间不同,则发送电子邮件。
  4. 建议使用预定任务。这意味着只有在脚本执行时才更新FTP时才会发送电子邮件。关于Windows Tasks的好处是你可以随意运行它。因此,假设您不需要立即通知,您可以将脚本设置为每分钟运行一次,每10分钟或类似运行一次。

    上面的问题是,如果人们也在删除文件,你可能会收到错过的通知。 EG假设您不希望在删除文件时收到通知,这意味着如果我当前的文件数为10,3并删除并添加1,这意味着下次运行脚本时我有8个文件。无法知道文件已被删除/重新添加。在这种情况下,您需要注意文件名和路径,记下它们,以便将现有路径与以前的路径进行比较!

    我刚刚完成了一项非常类似的任务,但我有一个额外的奢侈。我写了FTP客户端,必须安装在所有客户端机器上才能将文件发送到我的FTP。这意味着,在我的FTP程序中,我有一些额外的代码: OnUploadCompleted - >发送通知电子邮件

答案 1 :(得分:0)

您可以创建使用FileSystemWatcher的服务。

FileSystemWatcher侦听文件系统更改通知。在提供的链接中是如何使用该类的一个很好的例子。