Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    problema formmail relativo al dominio.

    Salve,
    Sto utilizzando un formmail per l'invio di moduli dal mio sito. Va tutto perfettamente, soltanto che se inserisco come e-mail di destinazione quelle che hanno lo stesso dominio del sito stesso (es. il sito è www.bananao.it, la e-mail di ricezione è caccola@bananao.it), misteriosamente non arriva nulla. Se invece scelgo delle e-mail che non hanno nulla a che vedere con il dominio (es. caccola@polpettone.it), improvvisamente funziona tutto splendidamente. Preciso che non ricevo alcun messaggio di errore da parte del formmail, vengo correttamente inviato nell'url di conferma invio, in ogni caso, sia con l'email "bananao.it" che con l'email "polpettone.it".

    Questo il codice del formmail:

    <%@ Language = vbscript%>
    <%option explicit %>
    <%server.scripttimeout = 600 %>
    <%
    '------------------------------------------- FORMMAIL V1.3 ------------------------------------------

    '----------------------------------------------------------------------------------------------------
    'declare variables
    '----------------------------------------------------------------------------------------------------
    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 ####################################
    '----------------------------------------------------------------------------------------------------
    strServer = "localhost" '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 = 25 '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.
    '
    '
    '################################################# ##
    '
    '
    Dim e
    Dim o
    e="www." + Request.QueryString("domain")
    o = Request.QueryString("domain")
    url = Array(o,e)
    '
    '
    '###############################################
    '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 domain is invalid - Il nome del dominio non è valido")
    response.End
    end if

    '----------------------------------------------------------------------------------------------------
    'verify the recipient(not tested)
    '----------------------------------------------------------------------------------------------------
    'trimed_referer = split(referer(2),".")'
    'response.write recipient & "
    " & referer(2) & "=" & trimed_referer(0) & "
    "
    '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 ("Required fields: You must enter a valid ") & query2(0)
    response.write (" - Campo obbligatorio: devi inserire un valido ") & 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.Write(" - Devi inserire un valido ") & 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.Write(" - Devi inserire un valido ") & 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.Write(" - Devi inserire un valido ") & 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.Write(" - Devi inserire un valido ") & query2(0)
    response.end
    end if
    if len(strEmail2(1))<2 then
    response.Write("You must specify a valid ") & query2(0)
    response.Write(" - Devi inserire un valido ") & 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 = "Form submitted from " & referer(2) & vbnewline & "Modulo inviato da " & referer(2) & vbnewline & vbnewline & realname & "Email: " & email & strBody & vbnewline & vbnewline & vbnewline &"################################################ ##"

    '----------------------------------------------------------------------------------------------------
    '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:")& "
    "
    response.write("error no.: ")&err.number & "
    "
    response.write("description: ")&err.description & "
    "
    response.end
    End If
    On Error Goto 0

    '----------------------------------------------------------------------------------------------------
    'send them to the page specified
    '----------------------------------------------------------------------------------------------------
    Response.Redirect redirect


    mentre questo è il codice della pagina che lo contiene:

    <form method="GET" action="../cgi-bin/formmail.asp">
    <input type="hidden" name="recipient" value="caccola@bananao.it">
    <input type="hidden" name="domain" value="bananao.it">
    <input type="hidden" name="redirect" value="http://www.bananao.it/Pagine/regok.htm">
    <input type="hidden" name="subject" value="Nuova registrazione">

  2. #2
    Prova commentando tutto questo blocco:

    codice:
    '----------------------------------------------------------------------------------------------------
    '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 domain is invalid - Il nome del dominio non è valido")
    response.End
    end if

  3. #3
    Ritieni che debba modificare soltanto quella parte del codice?Non sapresti aiutarmi oltre?

  4. #4
    Lo script è molto articolato, quindi andiamo per gradi. Inizia a vedere se così funziona.

    Ciao.

  5. #5
    Scusami, come faccio a commentare il codice?
    Posso farlo con Dreamweaver 8? Sono un po ignorantello...

    Ciao, grazie.

  6. #6
    Ok, credo di aver capito...
    Ho inserito in ogni riga un apice ed il codice è diventato grigio.
    E' così che si commenta, giusto?

    In ogni caso l'ho sostituito ed il risultato è questo errore:

    "Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.
    Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.

    More information about this error may be available in the server error log."

  7. #7
    Rieccomi, sono stato fuori per qualche ora.
    Comunque sì, dall'apice in poi, quella riga è considerata commentata.

    Il programma ora ti genera un errore, forse in quel pezzo che abbiamo tolto c'era qualcosa di fondamentale oppure non abbiamo commentato bene.

    Il messaggio che ti da è un messaggio di IE per non permettere a chiunque di vedera la riga precisa di codice che ha generato il blocco.
    Per vedere il genere di errore o cambi browser, dal menu di Internet Explorer:
    strumenti > opzioni internet > avanzate
    la voce: "mostra errori http brevi" non deve essere selezionata.

    Scrivimi poi che errore ti da, così cerchiamo di capire.

  8. #8
    Ho fatto come hai detto...
    Ho disabilitato la voce, ma continua a venirmi fuori lo stesso errore:

    Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.
    Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.

  9. #9
    Molto strano....

    Usa Firefox!

    Oppure se hai il sito on-line, scrivi l'indirizzo. Provo a controllare io che ho Mac.

  10. #10
    Ti ringrazio molto...
    Ho sopperito alla situazione configurando il modulo con 2 e-mail su altro dominio.

    Sei stato gentilissimo...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.