It worked fine for a long time, but now the forms send to my e-mail arrive after a few hours instead of instantly.
Calling Godaddy did not help as they stated all is working fine (no delays) on their end and refuse to help with custom scripts..
My emails are also hosted by godaddy like my website.
Hopefully someone here can have a look at my code and see why I might have such huge delays?
Note:
The delays seem to happen when using CDOSYS... I'm also setting up a shopping cart (ProductCart) and when using the CDOSYS function for their email script it has also a huge delay, while setting it to CDO it arrives within minutes...
I do not get any errors, all seems to go fine and mail does arrive after a few hours.
Here's the code (personal info marked out of cos):
Expand|Select|Wrap|Line Numbers
- <%
- option explicit
- dim pde : set pde = createobject("scripting.dictionary")
- pde.add "%mailing%", "email1@myserver.com"
- pde.add "%webmaster%", "email2@myserver.com"
- pde.add "%info%", "email3@myserver.com"
- pde.add "%email%", "email4@myserver.com"
- function getTextFromFile(path)
- dim fso, f, txt
- set fso = createobject("Scripting.FileSystemObject")
- if not fso.fileexists(path) then
- getTextFromFile = ""
- exit function
- end if
- set f = fso.opentextfile(path,1)
- if f.atendofstream then txt = "" else txt = f.readall
- f.close
- set f = nothing
- set fso = nothing
- getTextFromFile = txt
- end function
- dim redir, mailto, email, subject, item, body, cc, bcc, message, html, template, usetemplate, testmode
- redir = request.form("redirect")
- mailto = request.form("mailto")
- if pde.exists(mailto) then mailto = pde(mailto)
- cc = request.form("cc")
- bcc = request.form("bcc")
- email = request.form("email")
- if email = "" then email = pde("%email%")
- subject = request.form("subject")
- message = request.form("message")
- template = request.form("template")
- testmode = lcase(request.form("testmode"))="no"
- if len(template) > 0 then template = getTextFromFile(server.mappath(template))
- if len(template) > 0 then usetemplate = true else usetemplate = false
- dim msg : set msg = server.createobject("CDO.Message")
- msg.subject = subject
- msg.to = mailto
- msg.from = email
- if len(cc) > 0 then msg.cc = cc
- if len(bcc) > 0 then msg.bcc = bcc
- if not usetemplate then
- body = body & message & vbcrlf & vbcrlf
- else
- body = template
- end if
- for each item in request.form
- select case item
- case "redirect", "mailto", "cc", "bcc", "subject", "message", "template", "html", "testmode"
- case else
- if not usetemplate then
- if item <> "email" then body = body & item & ": " & request.form(item) & vbcrlf & vbcrlf
- else
- body = replace(body, "[$" & item & "$]", replace(request.form(item),vbcrlf,"<br>"))
- end if
- end select
- next
- if usetemplate then 'remove any leftover placeholders
- dim rx : set rx = new regexp
- rx.pattern = "\[\$.*\$\]"
- rx.global = true
- body = rx.replace(body, "")
- end if
- if usetemplate and lcase(request.form("html")) = "yes" then
- msg.htmlbody = body
- else
- msg.textbody = body
- end if
- if testmode then
- if lcase(request.form("html")) = "yes" then
- response.write "<pre>" & vbcrlf
- response.write "Mail to: " & mailto & vbcrlf
- response.write "Mail from: " & email & vbcrlf
- if len(cc) > 0 then response.write "Cc: " & cc & vbcrlf
- if len(bcc) > 0 then response.write "Bcc: " & bcc & vbcrlf
- response.write "Subject: " & subject & vbcrlf & string(80,"-") & "</pre>"
- response.write body
- else
- response.write "<html><head><title>Sendmail.asp Test Mode</title></head><body><pre>" & vbcrlf
- response.write "Mail to: " & mailto & vbcrlf
- response.write "Mail from: " & email & vbcrlf
- if len(cc) > 0 then response.write "Cc: " & cc & vbcrlf
- if len(bcc) > 0 then response.write "Bcc: " & bcc & vbcrlf
- response.write "Subject: " & subject & vbcrlf & vbcrlf
- response.write string(80,"-") & vbcrlf & vbcrlf & "<span style=""color:blue;"">"
- response.write body & "</span>" & vbcrlf & vbcrlf
- response.write string(80,"-") & vbcrlf & "**END OF EMAIL**</pre></body></html>"
- end if
- else
- msg.send
- response.redirect redir
- end if
- set msg = nothing
- %>
Expand|Select|Wrap|Line Numbers
- msg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
- msg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "relay-hosting.secureserver.net"
- msg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 3535
- msg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") =1
- msg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "email1@myserver.com"
- msg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "abc1234"
Expand|Select|Wrap|Line Numbers
- <form action="/sendmail_cdo.asp" method="post" name="SampleForm" id="SampleForm">
- <input type="hidden" name="redirect" value="http://www.myserver.com/thanks.htm">
- <input name="mailto" type="hidden" id="mailto" value="%webmaster%">
- <input name="subject" type="hidden" id="subject" value="Website Form Submission: Sample form from website">
Anyone any ideas why there might be this huge delay and/or does anyone know how to change this to CDO instead of CDOSYS (as this worked for the shopping cart)?