Suche ein Script das Ordner durchsucht und Dateien per E-Mail weiterschickt?
Hallo Leute,
Ich benötige ein Script mit dem ich einen Ordner nach dateien durchsuche. Und die gefundenen Dateien über Smtp per mail weiter verschickt an eine beliebige E-mail - Adresse?
ich habe eine Datei "mail.vbs erstellt:
Set fs = CreateObject("Scripting.FileSystemObject")
Sub FileSearch(pfad)
Set ordner = fs.GetFolder(pfad)
Set dateien = ordner.files
For Each datei In dateien
If LCase(fs.GetExtensionName(datei.Name)) = "tiff" Then WScript.Echo datei.Path
objMessage.Subject = "Example CDO Message"
objMessage.Sender = "yyy@yyy.de"
objMessage.To = "xxx@yyy.de"
objMessage.TextBody = "This is some sample message text."
objMessage.Send
Next
End Sub
FileSearch("C:\temp\test")
Der Ordner wird durchsucht nach einer Tiff Datei, und sendet mir eine E-mail, aber wie kann ich jetzt die gefundene Datei an die E-mail anhängen?
Vielen Dank für eure Hilfe
MFG
Heros83
Ich benötige ein Script mit dem ich einen Ordner nach dateien durchsuche. Und die gefundenen Dateien über Smtp per mail weiter verschickt an eine beliebige E-mail - Adresse?
ich habe eine Datei "mail.vbs erstellt:
Set fs = CreateObject("Scripting.FileSystemObject")
Sub FileSearch(pfad)
Set ordner = fs.GetFolder(pfad)
Set dateien = ordner.files
For Each datei In dateien
If LCase(fs.GetExtensionName(datei.Name)) = "tiff" Then WScript.Echo datei.Path
objMessage.Subject = "Example CDO Message"
objMessage.Sender = "yyy@yyy.de"
objMessage.To = "xxx@yyy.de"
objMessage.TextBody = "This is some sample message text."
objMessage.Send
Next
End Sub
FileSearch("C:\temp\test")
Der Ordner wird durchsucht nach einer Tiff Datei, und sendet mir eine E-mail, aber wie kann ich jetzt die gefundene Datei an die E-mail anhängen?
Vielen Dank für eure Hilfe
MFG
Heros83
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 151095
Url: https://administrator.de/contentid/151095
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
11 Kommentare
Neuester Kommentar
Hallo Heros83!
Könnte in etwa so funktioneren:
Gruß Dieter
Könnte in etwa so funktioneren:
objMessage.Attachments.Add Datei.Path |
Gruß Dieter
Servus Ddidi,
*grübel* nicht so?
Gruß Dieter
retour
Zitat von @76109:
Hallo Heros83!
Könnte in etwa so funktioneren:
Hallo Heros83!
Könnte in etwa so funktioneren:
objMessage.Attachments.Add Datei.Path |
*grübel* nicht so?
objMessage.AddAttachment "datei.Path"
Gruß Dieter
Hallo Timo!
Ich denke, dieselmal liegts Du daneben *Grübel*
Gruß Dieter
Zitat von @60730:
> Könnte in etwa so funktioneren:
Die Syntax sollte in VB, VB-Net und Outlook laut Microsoft schon stimmen> Könnte in etwa so funktioneren:
objMessage.Attachments.Add Datei.Path |
*grübel* nicht so?
objMessage.AddAttachment "datei.Path"
Datei.Path in Anführungszeichen geht schon mal garnicht. Datei ist ein Object (siehe Each-Schleife) und Datei.Path liefert einen String in Anführungszeichen.objMessage.AddAttachment "datei.Path"
Ich denke, dieselmal liegts Du daneben *Grübel*
Gruß Dieter
Hallo bastla!
Glaube nicht, das das funktioniert. TextBody kann nur Text und keine Bilder anzeigen. HTMLBody wäre eventuell eine Möglichkeit
Gruß Dieter
Zitat von @bastla:
Du willst wirklich für jede gefundene Datei eine eigene Mail verschicken? Wenn ja, könntest Du es so versuchen:
Du willst wirklich für jede gefundene Datei eine eigene Mail verschicken? Wenn ja, könntest Du es so versuchen:
...
objMessage.TextBody = "Datei """ & datei.Path & """ gefunden."
...
Gruß Dieter
Hallo zusammen,
ich hatte mal irgendwo dieses Beispiel gefunden:
das funktionierte zu Testzwecken bei mir. Eventuell kannst du, Heros83, da Auszüge von benutzen und dein
Script entsprechend umschreiben.
Eigentlich musst du die Pfadangabe nur in "(" Klammern setzen!
Gruss
Tsuki
ich hatte mal irgendwo dieses Beispiel gefunden:
Set oOApp = CreateObject("Outlook.Application")
Set oOMail = oOApp.CreateItem(olMailItem)
SkriptPfad = "D:\1\2010\"
oOMail.display ' Fenster anzeigen
oOMail.To = "xyz@mail.de"
oOMail.CC = "report@mail.de"
oOMail.Subject = "Automatisierter Report"
oOMail.Body = "Text"
oOMail.Attachments.Add (SkriptPfad & "Report.doc")
Set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Sleep 500
WshShell.AppActivate oOMail
WScript.Sleep 500
oOMail.display ' Fenster anzeigen
das funktionierte zu Testzwecken bei mir. Eventuell kannst du, Heros83, da Auszüge von benutzen und dein
Script entsprechend umschreiben.
Eigentlich musst du die Pfadangabe nur in "(" Klammern setzen!
Gruss
Tsuki
Hallo Tsuki!
Mir ist eingefallen, dass ich ja Outlook auf'm virtuellen PC installiert habe und selbst mal getestet. Es funktioniert sowohl mit Klammern als auch ohne Klammern, was es eigentlich auch tun sollte
Jetzt ist die Frage, ob Heros83 überhaupt Outlook verwendet oder vielleicht doch ein anderes E-Mail-Programm, dass diese Funktion tatsächlich nicht unterstützt?
Ich vermute mal letzteres, da es meines Wissens in Outlook aus Sicherheitsgründen nicht möglich ist, E-Mails vollautomatisiert zu versenden. D.h. das nach dem Send-Befehl immer nochmal eine Abfrage erscheint, ob die Mail tatsächlich versendet werden soll?
Gruß Dieter
Mir ist eingefallen, dass ich ja Outlook auf'm virtuellen PC installiert habe und selbst mal getestet. Es funktioniert sowohl mit Klammern als auch ohne Klammern, was es eigentlich auch tun sollte
Jetzt ist die Frage, ob Heros83 überhaupt Outlook verwendet oder vielleicht doch ein anderes E-Mail-Programm, dass diese Funktion tatsächlich nicht unterstützt?
Ich vermute mal letzteres, da es meines Wissens in Outlook aus Sicherheitsgründen nicht möglich ist, E-Mails vollautomatisiert zu versenden. D.h. das nach dem Send-Befehl immer nochmal eine Abfrage erscheint, ob die Mail tatsächlich versendet werden soll?
Gruß Dieter
Hallo Heros83!
Was ist das denn (kenn ich nicht)
Toll! Freut mich, dass Du es bei dem ganzen Wirrwar doch hingekriegt hast
Timo kennt dieses Programm offensichtlich und hatte wieder mal Recht:'(
Gruß Dieter
Was ist das denn (kenn ich nicht)
Set objEmail = CreateObject("CDO.Message") |
Toll! Freut mich, dass Du es bei dem ganzen Wirrwar doch hingekriegt hast
Timo kennt dieses Programm offensichtlich und hatte wieder mal Recht:'(
Gruß Dieter