|
ASP Mail To Page won't work
This ASP will write the file to the folder but will not send the email. Can any body help? Thanks.
- Code: Select all
<%
Response.Buffer = true
Function BuildUpload(RequestBin)
'Get the boundary
PosBeg = 1
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
boundaryPos = InstrB(1,RequestBin,boundary)
'Get all data inside the boundaries
Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))
'Members variable of objects are put in a dictionary object
Dim UploadControl
Set UploadControl = CreateObject("Scripting.Dictionary")
'Get an object name
Pos = InstrB(BoundaryPos,RequestBin,getByteString("Content-Disposition"))
Pos = InstrB(Pos,RequestBin,getByteString("name="))
PosBeg = Pos+6
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filename="))
PosBound = InstrB(PosEnd,RequestBin,boundary)
'Test if object is of file type
If PosFile<>0 AND (PosFile<PosBound) Then
'Get Filename, content-type and content of file
PosBeg = PosFile + 10
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
'Add filename to dictionary object
UploadControl.Add "FileName", FileName
Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))
PosBeg = Pos+14
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
'Add content-type to dictionary object
ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
UploadControl.Add "ContentType",ContentType
'Get content of object
PosBeg = PosEnd+4
PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
Else
'Get content of object
Pos = InstrB(Pos,RequestBin,getByteString(chr(13)))
PosBeg = Pos+4
PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
Value = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
End If
UploadControl.Add "Value" , Value
UploadRequest.Add name, UploadControl
BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)
Loop
End Function
Function getByteString(StringStr)
For i = 1 to Len(StringStr)
char = Mid(StringStr,i,1)
getByteString = getByteString & chrB(AscB(char))
Next
End Function
Function getString(StringBin)
getString =""
For intCount = 1 to LenB(StringBin)
getString = getString & chr(AscB(MidB(StringBin,intCount,1)))
Next
End Function
If request("Action")="1" then
Response.Clear
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUpload(RequestBin)
If UploadRequest.Item("attachment").Item("Value") <> "" Then
contentType = UploadRequest.Item("attachment").Item("ContentType")
filepathname = UploadRequest.Item("attachment").Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
FolderName = UploadRequest.Item("where").Item("Value")
Response.Write "FolderName: " & FolderName & "
"
Path = Mid(Request.ServerVariables("PATH_TRANSLATED"), 1, Len(Request.ServerVariables("PATH_TRANSLATED")) - Len(Request.ServerVariables("PATH_INFO"))) & "\"
Response.Write "Path:" & Path & "
"
ToFolder = Path & FolderName
value = UploadRequest.Item("attachment").Item("Value")
filename = ToFolder & "\" & filename
Set MyFileObject = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = MyFileObject.CreateTextFile(filename)
Response.Write "Saved Path: " & filename
For i = 1 to LenB(value)
objFile.Write chr(AscB(MidB(value,i,1)))
Next
objFile.Close
Set objFile = Nothing
Set MyFileObject = Nothing
End If
' get the other form elements now
MySubject = "OWL Request"
MyFrom = UploadRequest.Item("SenderEmail").Item("value")
userName = UploadRequest.Item("SenderName").Item("value")
Classification = UploadRequest.Item("classification").Item("value")
ClassName = UploadRequest.Item("ClassName").Item("value")
DueDate = UploadRequest.Item("DueDate").Item("value")
ClassTime = UploadRequest.Item("ClassTime").Item("value")
professor = UploadRequest.Item("PROFESSOR").Item("value")
assignment = UploadRequest.Item("ASSIGNMENT").Item("value")
paper = UploadRequest.Item("Clientspaper").Item("value")
Set UploadRequest = Nothing
Set objCDOMail = Server.CreateObject("CDONTS.NewMail")
ObjCDOMail.From = MyFrom
ObjCDOMail.To = "slacowl@txstate.edu"
ObjCDOMail.BodyFormat = 0
ObjCDOmail.Mailformat = 0
ObjCDOMail.Subject = "OWL Request"
HTML = "<!DOCTYPE HTML PUBLIC""-//IETF//DTD HTML//EN"">"
HTML = HTML & "<html>"
HTML = HTML & "<head>"
HTML = HTML & "<title>Online Writing Lab Request</title>"
HTML = HTML & "</head>"
HTML = HTML & "<body bgcolor=""#ffffff"" text=""#800000"" >"
HTML = HTML & "<blockquote>"
HTML = HTML & "
[img][/img]</p>"
HTML = HTML & "
*</p>"
HTML = HTML & "
<font size=""4"" face=""Georgia"">" & "Sender Name: " & userName & "</p>" & "
" & "Sender Email: " & MyFrom & "</p>"
HTML = HTML & "
<font size=""4"" face=""Georgia"">" & "Classification: " & Classification & "</p>"
HTML = HTML & "
<font size=""4"" face=""Georgia"">" & "Class: " & ClassName & "</p>"
HTML = HTML & "
<font size=""4"" face=""Georgia"">" & "Due Date: " & DueDate & "</p>"
HTML = HTML & "
<font size=""4"" face=""Georgia"">" & "Class Time: " & ClassTime & "</p>"
HTML = HTML & "
<font size=""4"" face=""Georgia"">" & "Professor: " & professor & "</p>"
HTML = HTML & "
<font size=""4"" face=""Georgia"">" & "Assignment: " & Assignment & "</p>"
HTML = HTML & "
<font size=""4"" face=""Georgia"">" & "Paper: " & paper & "</p>"
HTML = HTML & "
<font size=""4"" face=""Georgia"">" & "Date: " & Date
HTML = HTML & " Time: " & Time & "</p>"
HTML = HTML & "</blockquote>"
HTML = HTML & "</body>"
HTML = HTML & "</html>"
ObjCDOMail.Body = HTML
'heres an if statement to chk for an attachment
'If Len(filename) > 5 then
objCDOMail.AttachFile (filename)',nikfile
'end if
ObjCDOMail.Send
Set ObjCDOMail = Nothing
End If%>
|