Can anyone help with a Form Mail Question

Discussion in 'C#' started by bigred, Oct 3, 2007.

  1. #1
    Im having problems with my form mail. Can anyone help? Its not sending to form info to my email. If i need to post the code i can. But anyone have any hints on how this works?
     
    bigred, Oct 3, 2007 IP
  2. nico_swd

    nico_swd Prominent Member

    Messages:
    4,153
    Likes Received:
    344
    Best Answers:
    18
    Trophy Points:
    375
    #2
    Yes, post your code.
     
    nico_swd, Oct 3, 2007 IP
  3. ashrafweb

    ashrafweb Member

    Messages:
    67
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    43
    #3
    i have it and i will post it for u
    
    Set myMail=CreateObject("CDO.Message")
    	myMail.BodyPart.Charset = "windows-1256"
    	myMail.Subject= MsgTitle
    	SiteName=Application("SiteName")
    	SiteName=Replace(CStr(Application("SiteName")),"WWW.","")
    	SiteName=Replace(CStr(SiteName),"www.","")
    	myMail.From=SiteName & "<" & Application("SiteEMail") & ">"
    	ReceptorList= RS("EMail")
    	'While(Not RS.EOF)
    	'	ReceptorList= ReceptorList & "," & RS("EMail")
    		IF Request("Action")="SendTestMessage" Then ReceptorList=Request("txtAdmin")
    	'	RS.MoveNext
    	'Wend
    	myMail.Bcc= ReceptorList
    	
    	''''myMail.CreateMHTMLBody  Request("txtPage")
    	myMail.HTMLBody = Request("txtBody")
    	myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")=Application("sendusing")
    	'''''''''Name or IP of remote SMTP server
    	myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")= Application("LocalSMTP")
    	myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername")= Application("sendusername")
    	myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword")= Application("sendpassword")
    	''''''''Server port
    	myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=Application("smtpserverport")
    	''''''''Type of authentication, NONE, Basic (Base64 encoded), NTLM
    		myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = Application("smtpauthenticate") 'clear text
    	myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Application("smtpusessl")
    	myMail.Configuration.Fields.Item("Read-Receipt-To")= Application("SiteEMail")
    	myMail.Configuration.Fields.Item("X-Originating-Email")= Application("SiteEMail")
    	myMail.Configuration.Fields.Item("Disposition-Notification-To")= Application("SiteEMail")
    	myMail.Configuration.Fields.Item("X-OriginalArrivalTime")=Time
    	myMail.Configuration.Fields.Item("Content-Type")="text/html; charset=windows-1256; format=flowed"
    	myMail.Configuration.Fields.Item("charset")="windows-1256"
    	myMail.Configuration.Fields.Item("CodePage")="1256"
    	myMail.Configuration.Fields.Item("Content-Transfer-Encoding")="7bit"	
    	myMail.Configuration.Fields.Item("boundary")="--=_NextPart_000_000B_FdCf749DC1.FD5d64996"	
    	myMail.Configuration.Fields.Item("MIME-Version")="1.0"	
    	myMail.Configuration.Fields.Item("Content-Disposition")="inline"
    	myMail.Configuration.Fields.Item("Date")=Date
    	myMail.Configuration.Fields.Item("Message-ID")="36F73D4AE4BE845A0B189sECF6DDE66F4.MAI"	
    	myMail.Configuration.Fields.Item("X-DSNContext")=Application("SiteName")
    	myMail.Configuration.Fields.Item("X-Sender")= Application("SiteEMail")
    	myMail.Configuration.Fields.Item("X-Mailer")="MailEnable Web Mail 1.1"		
    	myMail.Configuration.Fields.Update
    	myMail.Send
    	ISSent=1
    	set myMail=nothing
    
    Code (markup):
     
    ashrafweb, Oct 3, 2007 IP
  4. bigred

    bigred Peon

    Messages:
    4
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #4
    Dim strFrom, strTo, strSubject, strBody
    Dim objMessage, objConfig, strServer, intPort
    Dim recipient, redirect, subject, realname, email, required, strEmail1, strEmail2
    Dim referer, url, url_verified, icounter, query, iloop, query2, query3, i, agree, validation, error0, error0ok

    '############################## CONFIGURATION VARIABLES ####################################

    'These are the only lines you will need to change
    '----------------------------------------------------------------------------------------------------
    strServer = "mail.vsci.com" 'set which smtp server will be used to send the email. enter ip address or domain name. eg: "xxx.xxx.xxx.xxx" or "smtp.your-domain.com"
    intPort = 28994 'set the smtp port to be used when sending mail (by default port 25 is used)
    'Referrer's Array is defined here. Enter the valid domains which may use this script.
    url = Array("www.shopvsc.com","shopvsc.com")'Set which urls that will be accepted. http://xxxxx/
    'Seperate multiple domains by commas
    'eg: url= Array("www.your-domain.com","your-domain.com","www.my-domain.com")
    'computer names can be used instead of domains if this script is being run locally
    'eg: url = Array("computername")

    '######################################### IMPORTANT NOTICE #########################################
    'IMPORTANT: do not modify anything below this line unless you know what you are doing!!
    '######################################### IMPORTANT NOTICE #########################################

    '----------------------------------------------------------------------------------------------------
    'information type and CDOSYS constants
    '----------------------------------------------------------------------------------------------------
    %>
    <!--METADATA TYPE="typelib"
    UUID="CD000000-8B95-11D1-82DB-00C04FB1625D"
    NAME="CDO for Windows 2000 Library" -->
    <!--METADATA TYPE="typelib"
    UUID="00000205-0000-0010-8000-00AA006D2EA4"
    NAME="ADODB Type Library" -->
    <%
    '----------------------------------------------------------------------------------------------------
    'retrieved default fields
    '----------------------------------------------------------------------------------------------------
    recipient = request("recipient")
    redirect = request("redirect")
    subject = request("subject")
    email = request("email")
    required = request("required")
    if required = "" then
    required = "recipient,subject,email,redirect"
    else
    required = "recipient,subject,email,redirect," & required
    end if

    '----------------------------------------------------------------------------------------------------
    'verify the referer
    '----------------------------------------------------------------------------------------------------
    referer = request.ServerVariables("HTTP_REFERER")
    referer = split(referer,"/")
    url_verified = "no"
    for icounter = Lbound(url) to Ubound(url) '
    if referer(2) = url(icounter) then
    url_verified = "yes"
    end if
    next
    if not url_verified = "yes" then
    response.write("The url specified is invalid!")
    response.End
    end if

    '----------------------------------------------------------------------------------------------------
    'verify the recipient(not tested)
    '----------------------------------------------------------------------------------------------------
    'trimed_referer = split(referer(2),".")'
    'response.write recipient & "<br>" & referer(2) & "=" & trimed_referer(0) & "<br>"
    'if trimed_referer(0) = "www" then
    ' if InStr(1,recipient,trimed_referer(1),1) = 0 then
    ' response.write "recipient don't match the referer"
    ' response.end
    ' end if
    'else
    ' if InStr(1,recipient,trimed_referer(0),1) = 0 then
    ' response.write "recipient don't match the referer"
    ' response.end
    ' end if
    'end if

    '----------------------------------------------------------------------------------------------------
    'retrieve form contents and create email fields
    '----------------------------------------------------------------------------------------------------
    query = Request.ServerVariables("QUERY_STRING")
    query = split(query,"&")
    query3 = split(required,",")
    For iLoop = Lbound(query) to UBound(query)
    query2 = split(query(iloop),"=")

    '----------------------------------------------------------------------------------------------------
    'form validation, checks required fields are not null
    '----------------------------------------------------------------------------------------------------
    for i = LBound(query3) to UBound(query3)
    if query3(i) = query2(0) then
    if query2(1) = "" then
    response.write ("you must enter a valid ") & query2(0)
    response.end
    end if
    end if

    'if query2(0) = "agree" then
    'if query2(1) <> "on" or query2(1) = "" then
    ' response.write("You must agree to terms and conditions to enable Formmailv1.3 to execute!")
    'response.end
    'end if
    'end if

    '----------------------------------------------------------------------------------------------------
    'form validation, checks a valid email address has been specified
    '----------------------------------------------------------------------------------------------------
    if query2(0) = "email" then
    trim(query2(0))
    if len(query2(1))<8 then
    response.Write("You must specify a valid ") & query2(0)
    response.end
    end if
    if instr(query2(1),"@")=0 and instr(query2(1),".")=0 then
    response.write query2(1)
    response.Write("You must specify a valid ") & query2(0)
    response.end
    end if
    strEmail1 = split(query2(1),"@")
    if len(strEmail1(1))<3 then
    response.Write("You must specify a valid ") & query2(0)
    response.end
    end if
    strEmail2 = split(strEmail1(1),".")
    if len(strEmail2(0))<3 then
    response.Write("You must specify a valid ") & query2(0)
    response.end
    end if
    if len(strEmail2(1))<2 then
    response.Write("You must specify a valid ") & query2(0)
    response.end
    end if
    end if

    '----------------------------------------------------------------------------------------------------
    'form validation, checks terms and conditions checkbox has been ticked
    '----------------------------------------------------------------------------------------------------

    Next
    if not query2(0) = "recipient" and not query2(0) = "redirect" and not query2(0) = "subject" and not query2(0) = "realname" and not query2(0) = "email" and not query2(0) = "required" and not query2(0) = "agree" then
    strBody = strBody & vbnewline & vbnewline & query2(0) &": " & query2(1)
    end if
    Next
    if email = "" then
    email = "formmail@" & referer(2)
    end if
    '----------------------------------------------------------------------------------------------------
    'replaces any special characters parsed through the query string
    '----------------------------------------------------------------------------------------------------
    strbody = replace(strbody, "+"," ")
    strbody = replace(strbody, "%26%238364%3B","€")
    strbody = replace(strbody, "%A1","¡")
    strbody = replace(strbody, "%A3","£")
    strbody = replace(strbody, "%A8","¨")
    strbody = replace(strbody, "%AA","ª")
    strbody = replace(strbody, "%AC","¬")
    strbody = replace(strbody, "%B4","´")
    strbody = replace(strbody, "%B7","·")
    strbody = replace(strbody, "%BA","º")
    strbody = replace(strbody, "%BF","¿")
    strbody = replace(strbody, "%C7","Ç")
    strbody = replace(strbody, "%E7","ç")
    strbody = replace(strbody, "%0D%0A",vbnewline)
    strbody = replace(strbody, "%21","!")
    strbody = replace(strbody, "%23","#")
    strbody = replace(strbody, "%24","$")
    strbody = replace(strbody, "%25","%")
    strbody = replace(strbody, "%26","&")
    strbody = replace(strbody, "%27","'")
    strbody = replace(strbody, "%28","(")
    strbody = replace(strbody, "%29",")")
    strbody = replace(strbody, "%2B","+")
    strbody = replace(strbody, "%2C",",")
    strbody = replace(strbody, "%2D","-")
    strbody = replace(strbody, "%2E",".")
    strbody = replace(strbody, "%2F","/")
    strbody = replace(strbody, "%3A",":")
    strbody = replace(strbody, "%3B",";")
    strbody = replace(strbody, "%3C","<")
    strbody = replace(strbody, "%3D","=")
    strbody = replace(strbody, "%3E",">")
    strbody = replace(strbody, "%3F","?")
    strbody = replace(strbody, "%5B","[")
    strbody = replace(strbody, "%5C","\")
    strbody = replace(strbody, "%5D","]")
    strbody = replace(strbody, "%5E","^")
    strbody = replace(strbody, "%5F","_")
    strbody = replace(strbody, "%60","`")
    strbody = replace(strbody, "%7B","{")
    strbody = replace(strbody, "%7C","|")
    strbody = replace(strbody, "%7D","}")
    strbody = replace(strbody, "%7E","~")

    '----------------------------------------------------------------------------------------------------
    'this creates the body of the mail message, the text in quotes can be modified accordingly
    '---------------------------------------------------------------------------------------------------
    strBody = "Here is the results of your form submitted from" & referer(2) & vbnewline & vbnewline & "Name: " & realname & vbnewline & vbnewline & "Email: " & email & vbnewline & strBody & vbnewline & vbnewline & "############# End Formmail Tranmission #############"

    '----------------------------------------------------------------------------------------------------
    'checks if a smtp port has been specified, if not it uses the default port 25
    '----------------------------------------------------------------------------------------------------
    if intport <> 25 then
    intport = intport
    else
    intport = 25
    end if

    '----------------------------------------------------------------------------------------------------
    'send the mail message
    '----------------------------------------------------------------------------------------------------
    set objMessage = CreateObject("CDO.Message")
    objMessage.To = recipient
    objMessage.From = email
    objMessage.Subject = subject
    objMessage.Sender = email
    objMessage.Textbody = strBody

    '----------------------------------------------------------------------------------------------------
    'cdosys configuration setup
    '----------------------------------------------------------------------------------------------------
    set objConfig = CreateObject("CDO.Configuration")
    objConfig.Fields(cdoSendUsingMethod) = cdoSendUsingPort
    objConfig.Fields(cdoSMTPServer) = strServer
    objConfig.Fields(cdoSMTPServerPort) = intPort
    objConfig.Fields(cdoSMTPAuthenticate) = cdoAnonymous
    objConfig.Fields.Update
    set objMessage.Configuration = objConfig

    '----------------------------------------------------------------------------------------------------
    'define error handling procedures
    '----------------------------------------------------------------------------------------------------
    On Error Resume Next
    objMessage.Send
    If Err.Number = 0 then
    response.write("Formmail v1.3 processed all operations successfully!")
    else
    response.write("Formmail v1.3 detected the following errors:")& "<br>"
    response.write("error no.: ")&err.number & "<br>"
    response.write("description: ")&err.description & "<br>"
    response.end
    End If
    On Error Goto 0

    '----------------------------------------------------------------------------------------------------
    'send them to the page specified
    '----------------------------------------------------------------------------------------------------
    Response.Redirect redirect
     
    bigred, Oct 4, 2007 IP
  5. bigred

    bigred Peon

    Messages:
    4
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #5
    Its giving me this message

    Formmail v1.3 detected the following errors:
    error no.: -2147220973
    description: The transport failed to connect to the server.
     
    bigred, Oct 4, 2007 IP
  6. N_F_S

    N_F_S Active Member

    Messages:
    2,475
    Likes Received:
    56
    Best Answers:
    0
    Trophy Points:
    90
    #6
    why do you guys did not check cdonts or ASPmail methods? I'm using the second, and it much more tiny. Google these 2 and you'll come up with many examples.
     
    N_F_S, Oct 4, 2007 IP
  7. ludwig

    ludwig Notable Member

    Messages:
    2,253
    Likes Received:
    66
    Best Answers:
    0
    Trophy Points:
    225