% '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
%>
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.
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!