stephan788
Goto Top

VBS: Ordnerinhalt als Anhang per Mail versenden

Hallo,

ich bin gerade bei einem Projekt am verzweifeln und dabei auf dieses Forum gestoßen. Ich hoffe, es kann mir jemand helfen.

Mein Ziel: Ich habe einen Ordner mit vielen Textdateien. Jede Textdatei aus diesem Ordner soll als Mail einzeln verschickt werden, also pro Mail immer nur eine Datei. Nach dem erfolgreichen Mailversand sollte die Datei aus dem Ordner gelöscht werden und die nächste Datei verschickt werden. Ich habe bisher folgendes VBSkript:

dim MailAdresseEmpfaenger
dim MailAdresseCC

MailAdresseEmpfaenger="empfaenger@administrator.de"  
MailAdresseCC="ich@web.de"  


Set outlook = CreateObject("Outlook.Application")  
Set email = outlook.CreateItem(0)

with email

	.to = MailAdresseEmpfaenger
	.CC = MailAdresseCC
	.Subject = "Name der Textdatei"  
	.Attachments.Add "C:\Users\XXX\Documents\Test\123.txt"  
	.HTMLBody = "Dies ist ein Test"  
	.send

End with

msgbox("Email an" & vbCrLf & MailAdresseEmpfaenger & vbCrLf & "versendet." & vbCrLf & vbCrLf & vbCrLf & "Kopie an" & vbCrLf & MailAdresseCC & vbCrLf & "versendet. ")  

wscript.quit

Damit habe ich zwar den reinen Mailversand schon mal hinbekommen, es fehlt aber natürlich eine Schleife, die auch wirklich den kompletten Ordnerinhalt ausliest.

Vielleicht hat ja jemand eine Idee - für mich als Anfänger scheint es gerade irgendwie unlösbar... Vielen Dank schon mal face-smile

Content-ID: 2494609300

Url: https://administrator.de/forum/vbs-ordnerinhalt-als-anhang-per-mail-versenden-2494609300.html

Ausgedruckt am: 24.12.2024 um 19:12 Uhr

TsukiSan
TsukiSan 14.04.2022 aktualisiert um 08:00:28 Uhr
Goto Top
Hallo Stephan788,

man kann mit VBS unter anderem Dateien aus einem Order wie folgt auflisten:
For Each file In ordner.files
		Pfadangabe =file.path
                MsgBox Pfadangabe
Next

Im Netz findet man viele Beispiele.

Grüße

Tsuki
1915348599
Lösung 1915348599 19.04.2022 aktualisiert um 18:28:14 Uhr
Goto Top
Damit der Beitrag hier noch abschließend abgehakt werden kann, hier eine mögliche Variante:
dim MailAdresseEmpfaenger, MailAdresseCC, fso, folder, file, outlook
MailAdresseEmpfaenger = "empfaenger@administrator.de"  
MailAdresseCC = "ich@web.de"  
folder = "D:\Ordner"  
Set fso = CreateObject("Scripting.FileSystemObject")   
Set outlook = CreateObject("Outlook.Application")  

For Each file In fso.GetFolder(folder).Files
	If LCase(fso.GetExtensionName(file.Name)) = "txt" Then  
		With outlook.CreateItem(0)
			.to = MailAdresseEmpfaenger
			.CC = MailAdresseCC
			.Subject = file.Name
			.Attachments.Add file.Path
			.HTMLBody = "Dies ist ein Test"  
			.send
                        file.Delete True
		End With
	End If
Next

Bitte den Beitrag dann noch auf gelöst setzen.