<% 'SubmitMail3.asp %> <% 'Hier werden erst die Parameter des sendenden Formulares ermittelt. Im Formular 'wurde ein Textfeld gefuellt, dessen Inhalt hier "vermailed" werden soll. Dieser 'Text wird dazu erst in eine Textdatei geschrieben. Optional kann der Anwender 'seine MS-Mail Adresse angeben. Hat er das getan, wird diese an den Anfang der 'zu "vermailenden" Datei geschrieben. Option Explicit Dim oFSO, oTS, oEnvUsr, oShell Dim sMailMessage, sMailAdressat, sTempFileName, sTempDirName, sOutFileName sMailMessage = Request.QueryString("Kommentar") Response.Write "Message=" & sMailMessage & "
" sMailAdressat = Request.QueryString("MailAddress") Response.Write "Absender=" & sMailAdressat & "
" If sMailAdressat <> "" Then sMailMessage = sMailAdressat & vbNewLine & vbNewLine & sMailMessage End If Set oFSO = Server.CreateObject("Scripting.FileSystemObject") sTempFileName = oFSO.GetTempName Response.Write "Filename=" & sTempFileName & "
" Set oShell = Server.CreateObject("WScript.Shell") Set oEnvUsr = oShell.Environment("User") sTempDirName = oShell.ExpandEnvironmentStrings(oEnvUsr("TEMP")) Response.Write "TemDir=" & sTempDirName & "
" sOutFileName = sTempDirName & "\" & sTempFileName 'Object Text Stream: Set oTS = oFSO.CreateTextFile(sOutFileName, True) oTS.WriteLine(sMailMessage) oTS.Close Set oTS = Nothing Set oFSO = Nothing Set oEnvUsr = Nothing Set oShell = Nothing %> Submit Mail

Mail versenden

Diese Seite versendet eine Testmail als User "Internet Information Server"
(Postfach "IUSRM1") an den Empfänger "SENL" (Send Event Notification List) mit
dem Subjekt "Test" und dem Inhalt der Datei "SubmitMail.txt".

"SENL" ist eine persönliche Verteilerliste des Benutzers "IUSRM1"
und kann jederzeit den Erfordernissen entsprechend geändert werden.

Die Mail wird mittels "mbFileMail2.vbs" über den Scheduler-Service verschickt.
Dazu wird die nächste volle Minute verwendet. Als Prozedur zum 'schedulen'
wird "mbFileMail2.vbs" (ein "Windows Scripting Host" - Script) verwendet.

Diagnostics:
Filename=<% = sOutFileName %>

Mail wird submitted...
<% Dim Shell, SchedTime, P1, P2, P3, Cmd, CmdPrc, rtc On Error Resume Next Set Shell = Server.CreateObject("WScript.Shell") If Err <> 0 Then Response.Write "Err=" & Err.Number & ", Des=" & Err.Description & ", Src=" & Err.Source & "
" Err.Clear Else Response.Write "Objekt erzeugt, ok.
" End If 'Bilde die Schedule-Zeit fuer die naechste vole Minute '(Der Scheduler-Service kann nur mit hh:mm arbeiten): SchedTime = FormatDateTime(DateAdd("n", 1, Now()), vbShortTime) 'Response.Write "[now=" & Now() & " um " & SchedTime & "
" 'Parameter und Kommando festlegen (dabei unbedingt darauf achten, dass der 'Scheduler als Kommandozeile nur maximal 259 Zeichen verarbeiten kann!!!). 'Wenn NICHT CSCRIPT.EXE zum Aufrufen des Scriptes verwendet wird, 'muss ".VBS" als Extension registriert sein! P1 = sOutFileName 'Dateiname P2 = "Benutzer-Kommentar zum Web" 'Subject 'P3 = "/nodelete" 'Mail wird nach Senden nicht geloescht. CmdPrc = "E:\InetPub\VRoots\MBTests\OLEMsgMailTest\mbFileMail2.vbs" 'Nun alles zusammenbasteln: Cmd = "AT " & SchedTime & " " & CmdPrc & " " & P1 & " " & Chr(34) & P2 & Chr(34) & " " & P3 Response.Write "Commandline ist " & Chr(34) & cmd & Chr(34) & "
" 'Kommando ausfuehren: rtc = Shell.Run (cmd, 0, True) If Err <> 0 Then Response.Write "Err=" & Err.Number & ", Des=" & Err.Description & ", Src=" & Err.Source & "
" Err.Clear Else Response.Write "'cmdtest' ausgefuehrt, ok.
" End If Set Shell = Nothing If Err <> 0 Then Response.Write "Err=" & Err.Number & ", Des=" & Err.Description & ", Src=" & Err.Source & "
" Err.Clear Else Response.Write "Objekt wieder gelöscht, ok.
" End If %> ...erledigt!