Link to home
Start Free TrialLog in
Avatar of ezucker
ezuckerFlag for United States of America

asked on

Go Daddy (GDForm.ASP) Form is no longer including email in the From: field

Up until a week ago any form submitted from my website would use the Email address provided by the user in the Email field to populate the From: field but now suddenly it has stopped. Every email I receive from my website no shows "From: formmailer@secureserver.net [mailto:formmailer@secureserver.net]" rather than the email address of the person who filled out the form. The email field is still populated on the form the same way it has been for 2 years. This is causing a problem because I have rules setup to automatically reply to these sales leads.
Also, the subject of the email has always been "Demo Request submission" but has now changed to "totalitysoftware.com-Demo Request Submission".

I called GoDaddy and have spent countless hours going back and forth with them about what has changed but they insist that they can see no evidence of a change to formmailer or the way they handle their own GDForm.asp (which happens to be what I'm using). I haven't changed a thing on our end for months so I know it's not us but just to be sure I compared a current output file from GDForm.asp to one from months ago and they are identical. Obviously whatever processes the file after GDForm.asp creates it is to blame for this change.

GoDaddy insists that there is nothing they can do and has said that the only alternative is to modify the GDForm.asp to do what I require which is ridiculous since it already did do what I required before they "Didn't" update anything.

Anyhow, this is where you come in, can anyone take a look at the code attached and see any reason why it would not perform as I have expected? Also, is anyone else seeing this problem with their GoDaddy (Windows) hosted website since 10/15/08?

If my description is not detailed enough please let me know what I've left out or what information you need.
<%
 
Dim landing_page, host_url
Dim fso, outfile, filename, dirname, myFolder
Dim req_method, key, value
Dim bErr, errStr, bEmpty
On Error resume next
bErr = false
bEmpty = true
errStr = ""
Set fso = Server.CreateObject("Scripting.FileSystemObject")
host_url = Request.ServerVariables("HTTP_HOST")
req_method = Request.ServerVariables("REQUEST_METHOD")
dtNow = Now()
filename = Server.MapPath("\ssfm")
dirname = filename
filename = filename & "\gdform_" & DatePart("M", dtNow) & DatePart("D", dtNow) & DatePart("YYYY", dtNow) & DatePart("N", dtNow) & DatePart("S", dtNow)
 
Function FormatVariableLine(byval var_name, byVal var_value)
	Dim tmpStr
	tmpStr = tmpStr & "<GDFORM_VARIABLE NAME=" & var_name & " START>" & vbCRLF
	tmpStr = tmpStr & var_value & vbCRLF
	tmpStr = tmpStr & "<GDFORM_VARIABLE NAME=" & var_name & " END>"
	FormatVariableLine = tmpStr
end function
 
Sub OutputLine(byVal line)
   outfile.WriteLine(line)
end sub
 
if err.number = 0 then
	Set outfile = fso.CreateTextFile(filename, true, false)
	if err.number <> 0 then
			bErr = true
			errStr = "Error creating file! Directory may not be writable or may not exist.<br>Unable to process request."
	else
		if(req_method = "GET") then
			for each Item in request.QueryString
				if item <> "" then
					bEmpty = false
					key = item
					value = Request.QueryString(item)
					if(lcase(key) = "redirect") then
						landing_page = value
					else
						line = FormatVariableLine(key, value)
						Call OutputLine(line)
					end if
				end if	
			next
		elseif (req_method = "POST") then
			for each Item in request.form
				if item <> "" then
					bEmpty = false
					key = item
					value = Request.form(item)
					if(lcase(key) = "redirect") then
						landing_page = value
					else
						line = FormatVariableLine(key, value)
						Call OutputLine(line)
					end if
				end if	
			next
		end if
		outfile.close
	end if	
	if(bEmpty = true) AND errStr = "" then
		bErr = true
		errStr = errStr & "<br>No variables sent to form! Unable to process request."
	end if
	if(bErr = false) then	
		if (landing_page <> "") then
			response.Redirect "http://" & host_url & "/" & landing_page
		else
			response.Redirect "http://" & host_url	
		end if
	else
		Response.Write errStr
	end if	
	set fso = nothing
else
  Response.Write " An Error Occurred creating mail message. Unable to process form request at this time."
end if
%>

Open in new window

Avatar of ezucker
ezucker
Flag of United States of America image

ASKER

I should have provided my website in case someone was interested in viewing the form in question. It's located at http://www.totalitysoftware.com/Demo/demo.htm 
Just a note:  I have used their gdform.asp script for several years now and the return e-mail address has ALWAYS been formmailer@secureserver.net.  
As far as my understanding goes, unless the user sends it from THEIR e-mail address on THEIR domain or site then it will always show up from secureserver.net.  This is because Godaddy owns all of their servers and they have it processing from their script.  
Avatar of ezucker

ASKER

Thanks for the response LZ1! That's exactly what they said but I have email after email where this isn't the case.

This is the guide I used to build my form originally http://help.godaddy.com/topic/100/article/512 
 #5 clearly says: Email. Controls the return address for the form email.

They changed something in the way this works but won't own up to it or perhaps just aren't aware of it no matter how many times I tell them. :)  

The real problem now is getting a script that WILL do what I need it to do. Does anyone have any suggestions or perhaps a script they use with their GoDaddy account that I can modify for my own usage?
ASKER CERTIFIED SOLUTION
Avatar of jgmontgo
jgmontgo
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Why don't you use your own mail function?  GoDaddy is paranoid about mail spamming and forwarding, and despite what their reps say, they are changing these scripts daily or weekly.  GoDaddy is GREAT as a domain registrar, but the limits on their web hosting are SEVERE -- look at how limited their mail size is !!!

Anyway, in PHP, the function to send a email takes only 5 lines, and is incredibly efficient.  I don't know the details of ASP to send mail, but I would assume it is fairly straightforward too.  The issue is, don't rely on a script provided by GoDaddy -- they are so paranoid about spamming and forwarding, you will not get any reliable service from them concerning emailing.  Any other web host will give you 10X mail than GoDaddy.
Avatar of ezucker

ASKER

Well how about that! Thank you so much jgmontgo! Not only can I more accurately control what comes out of my form, the email now sends immediately! I really appreciate the links and the help. Once again Experts Exchange has paid for itself 10x's over!

For anyone interested who may stumble upon this thread and is having the same problem, this is the link that I followed that provided the most help:
 
http://mc-computing.com/ISPs/FormMail_CDONTS.html 

I basically copied the script provided and modified it to fit my form. With minimal code knowledge I was able to make this work in under an hour. Thanks again jgmontgo and thanks to everyone else!
Avatar of ezucker

ASKER

Thank you so much! With a little more time on Google I may have stumbled upon those links and saved you the time but I really do appreciate the help! You're a life saver!
You are very welcome ezucker, it was my pleasure to be of service to you. Thanks for the points.