Vbscript 发送带有附件的电子邮件通知
我正在编写一个VBScript,以便在文件到达测试文件夹时发送电子邮件通知。我想将该文件附加到我的电子邮件中。文件名不是常量。每次文件以不同的名称到达时 下面是我的代码:Vbscript 发送带有附件的电子邮件通知,vbscript,Vbscript,我正在编写一个VBScript,以便在文件到达测试文件夹时发送电子邮件通知。我想将该文件附加到我的电子邮件中。文件名不是常量。每次文件以不同的名称到达时 下面是我的代码: Const PATH = "F:\Test" Dim fso: Set fso = CreateObject("Scripting.FileSystemObject") Dim folder: Set folder = fso.GetFolder(PATH) If folder.Files.Count <> 0
Const PATH = "F:\Test"
Dim fso: Set fso = CreateObject("Scripting.FileSystemObject")
Dim folder: Set folder = fso.GetFolder(PATH)
If folder.Files.Count <> 0 Then
strSMTPFrom = "errorfile@test.com"
strSMTPTo = "test@test.com"
strSMTPRelay = "127.0.0.1"
strTextBody = "The attached file arrived in Test folder"
strSubject = "File arrived in Test folder"
strAttachment =
Set oMessage = CreateObject("CDO.Message")
oMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
oMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSMTPRelay
oMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
oMessage.Configuration.Fields.Update
oMessage.Subject = strSubject
oMessage.From = strSMTPFrom
oMessage.To = strSMTPTo
oMessage.TextBody = strTextBody
oMessage.AddAttachment strAttachment
oMessage.Send
End If
Const PATH=“F:\Test”
Dim fso:Set fso=CreateObject(“Scripting.FileSystemObject”)
Dim文件夹:Set folder=fso.GetFolder(路径)
如果folder.Files.Count为0,则
strSMTPFrom=”errorfile@test.com"
strSMTPTo=”test@test.com"
strSMTPRelay=“127.0.0.1”
strTextBody=“附件已到达测试文件夹”
strSubject=“文件已到达测试文件夹”
地层厚度=
设置oMessage=CreateObject(“CDO.Message”)
oMessage.Configuration.Fields.Item(“http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
oMessage.Configuration.Fields.Item(“http://schemas.microsoft.com/cdo/configuration/smtpserver“”=strSMTPRelay
oMessage.Configuration.Fields.Item(“http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
oMessage.Configuration.Fields.Update
oMessage.Subject=strSubject
oMessage.From=strSMTPFrom
oMessage.To=strsmtpot
oMessage.TextBody=strTextBody
oMessage.AddAttachment连接
oMessage.发送
如果结束
要查找文件夹中的最新文件,请使用以下代码:
Const PATH = "F:\Test"
dim fso: set fso = CreateObject("Scripting.FileSystemObject")
dim myFolder: set myFolder = fso.getFolder(PATH)
dim myFile
dim recentFile
For Each myFile in myFolder.Files
If (isempty(recentFile)) Then
Set recentFile = myFile
ElseIf (myFile.DateLastModified > recentFile.DateLastModified) Then
Set recentFile = myFile
End If
Next
然后只需使用其路径来附加文件
strAttachment = recentFile.path
我想说,你真正想要的是一个文件系统监视器。大概是这样的:
Sub SendNotification(filename)
'your mail sending code goes here
End Sub
Function CreateMonitor(path)
Set wmi = GetObject("winmgmts://./root/cimv2")
Set fso = CreateObject("Scripting.FileSystemObject")
path = Split(fso.GetAbsolutePathName(path), ":")
drv = path(0) & ":"
dir = Replace(path(1), "\", "\\")
If Right(dir, 2) <> "\\" Then dir = dir & "\\"
query = "SELECT * FROM __InstanceOperationEvent" & _
" WITHIN 1" _
" WHERE Targetinstance ISA 'CIM_DataFile'" & _
" AND TargetInstance.Drive=""" & drv & """" & _
" AND TargetInstance.Path=""" & dir & """"
Set CreateMonitor = wmi.ExecNotificationQuery(query)
End Function
Set monitor = CreateMonitor("F:\Test")
Do
Set evt = monitor.NextEvent()
If evt.Path_.Class = "__InstanceCreationEvent" Then
SendNotification evt.TargetInstance.Name
End If
Loop
子发送通知(文件名)
'您的邮件发送代码在这里
端接头
函数CreateMonitor(路径)
设置wmi=GetObject(“winmgmts://./root/cimv2")
设置fso=CreateObject(“Scripting.FileSystemObject”)
路径=拆分(fso.GetAbsolutePathName(路径),“:”)
drv=路径(0)和“:”
dir=Replace(路径(1),“\”,“\”)
如果右(dir,2)“\\”则dir=dir&“\\”
query=“选择*FROM\uuu InstanceOperationEvent”&_
“1以内”_
“其中Targetinstance ISA‘CIM_数据文件’”&_
“和TargetInstance.Drive=”“&drv&”_
“和TargetInstance.Path=”“&dir&”“”
设置CreateMonitor=wmi.ExecutionQuery(查询)
端函数
设置监视器=创建监视器(“F:\Test”)
做
设置evt=monitor.NextEvent()
如果evt.Path\uu.Class=“\uuu InstanceCreationEvent”,则
SendNotification evt.TargetInstance.Name
如果结束
环
TargetInstance
对象的Name
属性包含新文件的完整路径。将您的邮件发送代码放入发送通知
功能,并将其附加到邮件中。另外,您的问题是什么?您是否不确定如何附加文件?剩下的代码可以工作吗?你收到错误信息了吗?你试过附加文件的方法吗?我想在文件夹里附加文件。试过它不起作用了吗?这次起作用了吗?优素福,社区也是,不是免费的个人助理。如果答案确实对你有帮助,请不要消失。把那个答案标为答案。这是公平的。这也适用于您之前的所有问题。@优素福我已经更改了检查recentFile变量中值的方法;现在试试看它是否有效