xola 10 Geschrieben 15. Juli 2010 Melden Teilen Geschrieben 15. Juli 2010 Hallo Forum, mein Script funktioniert soweit. Es holt sich Dateiinhalt aus einer Datei von einem anderen Server und soll diese dann in einer Mail verschicken. Dazu haben wir hier ein Programm "mailsend.exe". Dim a, b Set a = WScript.CreateObject("WScript.Shell") b = a.run("mailsend.exe < conf.txt", 1, true) b beinhaltet danach den Integer-Wert 1. Eine Mail kommt allerdings nicht an. Führe ich den Befehl "mailsend.exe < conf.txt" in der DOS-Box aus, bekomme ich die Mail. Auch mit a.exec habe ich es schon versucht: Dim a, b, c Set a = CreateObject("WScript.Shell") Set b = a.Exec("mailsend.exe < conf.txt") c = LCase(b.StdOut.ReadAll) msgbox c Funktioniert wie erwartet nicht. Die MsgBox ist leer. Mail kommt nicht an. Wie gesagt, der Befehl ist 100%ig richtig und funktioniert, wenn man ihn so in die DOS-Box eingibt. Die mailsend.exe gibt bei Erfolg den Text "Mail sent successfully" oder eben "Mail could not be sent" auf der Konsole aus. Deshalb dürfte die MsgBox in keinem Fall leer sein... Die drei Dateien (das VB-Script, die mailsend.exe und die conf.txt) sind alle im selben Verzeichnis auf dem Server. Woran liegt es, dass der Befehl nicht ausgeführt wird? Lg Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 15. Juli 2010 Melden Teilen Geschrieben 15. Juli 2010 Moin, wenn du in einer "DOS-Box" bist (das ist keine, wir reden hier schließlich nicht von Windows 95), hast du ein Standardverzeichnis. Erzeugst du ein Shell-Objekt, bist du sehr wahrscheinlich in einem anderen Verzeichnis. Versuch es also mal mit der vollen Pfadangabe zu exe- und config-Datei. Oder du nimmst einfach eine Lösung, die schon funktioniert. faq-o-matic.net Batch Command Line Mailer faq-o-matic.net Visual Basic Script Mailer Gruß, Nils Zitieren Link zu diesem Kommentar
xola 10 Geschrieben 16. Juli 2010 Autor Melden Teilen Geschrieben 16. Juli 2010 Danke für die Hilfe. Wie erwartet hat das auch nicht funktioniert, auch wenn die Idee natürlich gut ist. Habe aber inzwischen herausgefunden, wie es funktioniert. Den Befehl "mailsend.exe < conf.txt" habe ich in eine cmd-Datei gepackt und rufe diese über b.EXEC auf. Funktioniert tadellos. Ich denke, EXEC und RUN stören sich am <, oder an Leerzeichen... Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 16. Juli 2010 Melden Teilen Geschrieben 16. Juli 2010 Moin, Ich denke, EXEC und RUN stören sich am <, oder an Leerzeichen... äh, ja, das ist auch so, jedenfalls bei dieser Art des Aufrufs. Hätte ich auch gleich drauf kommen können. Gruß, Nils Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.