Vorhandenes Batch und VBS um Mailversand erweitern
Moinsen,
stand sind die beiden Scripte wie in meiner anderen Frage (Per Batch einer CSV-Datei Zeilen verpassen).
Diese sollen nun um einen Mailversand mit externer E-Mailadresse erweitert werden.
Der Mailversand soll aber erst NACH der Verarbeitung stattfinden.
Ich hab sowas mal mit VBS gesehen und ein fertiges Script benutzt, es mir nur nie rückgesichert.
Daher wie erweitere ich vernünftig meine Scripte um den Mailversand?
Gruß Zero
stand sind die beiden Scripte wie in meiner anderen Frage (Per Batch einer CSV-Datei Zeilen verpassen).
Diese sollen nun um einen Mailversand mit externer E-Mailadresse erweitert werden.
Der Mailversand soll aber erst NACH der Verarbeitung stattfinden.
Ich hab sowas mal mit VBS gesehen und ein fertiges Script benutzt, es mir nur nie rückgesichert.
Daher wie erweitere ich vernünftig meine Scripte um den Mailversand?
Gruß Zero
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 187099
Url: https://administrator.de/contentid/187099
Ausgedruckt am: 21.11.2024 um 17:11 Uhr
16 Kommentare
Neuester Kommentar
Hi, ich benutze dazu blat, wenn es um Batch geht...
Schau mal auf dieser Seite - da werden VBS-Lösungen beschrieben:
http://www.paulsadowski.com/wsh/cdo.htm
Folgende Einstellungen hatte ich für ein Absenderpostfach bei GMX:
'Hier befinden sich alle Email-Einstellungen
'-------------------------------------------
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "Betreffzeile"
objMessage.From = "absender@gmx.de"
'Falls E-Mail mit Anhang, dann diese Zeile dazu
'----------------------------------------------
objMessage.AddAttachment "C:\anhang.pdf"
objMessage.To = "empfänger@domain.tld"
objMessage.TextBody = "Dies ist der Nachrichteninhalt!"
'Hier befinden sich sämtliche SMTP-Einstellungen
'-----------------------------------------------
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'Name oder IP des SMTP Servers
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.gmx.net"
'Authentifikationstyp, NONE, Basic (Base64 encoded), NTLM
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
'Absenderbenutzername
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = "absender@gmx.de"
'Absenderpasswort
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Passwort"
'Server Port
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
'Benutze SSL für die Verbindung (False or True)
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = true
'Verbindungs-Timeout zwischen SMTP-Server und CDO in Sekunden
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
objMessage.Configuration.Fields.Update
'Nachricht wird gesendet
'-----------------------
objMessage.Send
msgbox "Versand war erfolgreich!"
Gruß
http://www.paulsadowski.com/wsh/cdo.htm
Folgende Einstellungen hatte ich für ein Absenderpostfach bei GMX:
'Hier befinden sich alle Email-Einstellungen
'-------------------------------------------
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "Betreffzeile"
objMessage.From = "absender@gmx.de"
'Falls E-Mail mit Anhang, dann diese Zeile dazu
'----------------------------------------------
objMessage.AddAttachment "C:\anhang.pdf"
objMessage.To = "empfänger@domain.tld"
objMessage.TextBody = "Dies ist der Nachrichteninhalt!"
'Hier befinden sich sämtliche SMTP-Einstellungen
'-----------------------------------------------
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'Name oder IP des SMTP Servers
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.gmx.net"
'Authentifikationstyp, NONE, Basic (Base64 encoded), NTLM
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
'Absenderbenutzername
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = "absender@gmx.de"
'Absenderpasswort
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Passwort"
'Server Port
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
'Benutze SSL für die Verbindung (False or True)
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = true
'Verbindungs-Timeout zwischen SMTP-Server und CDO in Sekunden
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
objMessage.Configuration.Fields.Update
'Nachricht wird gesendet
'-----------------------
objMessage.Send
msgbox "Versand war erfolgreich!"
Gruß
Hallo ColdZero89!
Grüße
bastla
Es lag daran das die Dateien zu groß sind.
Da würde sich ja noch eine Erweiterung aufdrängen - als Anhaltspunkt zB dieser Beitrag ...Grüße
bastla
Feuer gelöscht! Es lag daran das die Dateien zu groß sind. Für insgesamt 11MB hat der nun knapp 5 Minuten
gebraucht.
gebraucht.
Ich hatte in meinem Script ebenfalls eine ZIP-Funktion eingebaut. Vorteil: Es funktioniert mit Windows-Boardmitteln.
Hier der VB-Code:
'*****************************************************************************************
'Hier wird die Datei mit ZIP komprimiert - um die Uploadzeit beim Mailversand zu verkürzen
'*****************************************************************************************
Dim Quelle
Dim Ziel
Quelle = "C:\Ordner\liste.csv"
Ziel = "C:\Order\liste.zip"
'write zip file header
Set fso = createobject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile(Ziel, 2, True)
file.write "PK" & chr(5) & chr(6) & string(18,chr(0))
file.close
on error resume next
Set shl = createobject("Shell.Application")
shl.namespace(Ziel).copyhere Quelle
Do Until shl.Namespace(Ziel).Items.Count = 1
wscript.sleep 100
Loop
on error goto 0
Gruß
Pseudoname