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

    Form e CDOSYS. L'email arriva vuota!!!

    Buonasera

    Avevo già aperto un topic simile, ma con scarsi risultati.
    Ecco quindi il mio problema:
    ho un form in flash che raccoglie dei dati e li trasmette ad una pagina ASP. Il server dove faccio le prove supporta sia le librerie CDONTS che CDOSYS, mentre il server che ospiterà il sito una volta terminato supporta solo le librerie CDOSYS.
    Non essendo un programmatore, ho copiato uno scrip che funzionava ad hoc, peccato che usava CDONTS.
    Adesso ho fatto alcune modifiche per convertirlo in CDOSYS, e sul mio server funziona in parte, nel senso che l'email viene regolarmente inviata, soltanto che arriva vuota!!!
    Evidentemente c'è qualcosa che non va nel codice, che è questo:
    <%
    on error resume next
    Set mail = Server.CreateObject ("CDO.Message")
    yodaFrom=Request("nome_txt")
    yodaFrom=yodaFrom &" "& Request("cognome_txt")
    yodaFrom=yodaFrom &" <"& Request("mail_txt") &">"
    mail.From=yodaFrom
    mail.to="actarus@actarus.it"
    strBody=strBody & "Dati richiedente:<hr>"
    strBody=strBody & "Nome e Cognome: "& Request("nome_txt") &" "& Request("cognome_txt") &"
    "
    strBody=strBody & "Qualifica/ruolo all'interno dell'Azienda: "& Request("qualifica_txt") &"
    "
    strBody=strBody & "Azienda: "& Request("azienda_txt") &"
    "
    strBody=strBody & "Settore: "& Request("settore_txt") &"
    "
    strBody=strBody & "Telefono : "& Request("telefono_txt") &"
    "
    strBody=strBody & "Fax : "& Request("fax_txt") &"
    "
    strBody=strBody & "Cellulare : "& Request("cellulare_txt") &"
    "
    strBody=strBody & "E-mail: "& Request("mail_txt") &"
    "
    strBody=strBody & "Indirizzo : "& Request("indirizzo_txt") &"
    "
    strBody=strBody & "CAP : "& Request("cap_txt") &"
    "
    strBody=strBody & "Città : "& Request("citta_txt") &"
    "
    strBody=strBody & "Provincia : "& Request("provincia_txt") &"
    <hr>"
    strBody=strBody & "Informazione richiesta : "& Request("informazione_txt") &"
    <hr>"
    strBody=strBody & "Richiesta effettuata il: " & now() &"
    "
    strBody=strBody & "Indirizzo I.P. richiedente: "& request.ServerVariables("REMOTE_ADDR") &"

    "
    mail.Body=strBody
    mail.Subject="Richiesta informazioni da sito www.actarus.it"
    mail.mailFormat=0
    mail.bodyFormat=0
    mail.Send
    set mail=nothing
    %>


    Un'altra cosa: ho provato a pubblicare il sito nel server "definitivo" ed il form non funziona per niente. Il tecnico mi ha garantito che è tutto a posto, ma di fatto l'email non viene inviata.
    E' possibile che si debba aggiungere qualcosa al codice o che si tratti di un server protetto che richiede qualcosa di particolare?

    Ripeto, non sono assolutamente un programmatore quindi cercate di essere più elementari possibile nelle risposte (spero numerose).

    Grazie
    <-- Fare. O non fare. Non c'è provare. -->

    www.yodastudio.com
    segui YODA Studio su facebook

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Questo è il codice per invaire email tramite CDONTS non CDOSYS.
    Se vuoi usare COSYS devi usare la sua sintassi. In rilievo c'è un thread che lo spiega.

    Roby

  3. #3
    Non so più dove sbattere la testa.
    Ho preso il codice che mi hai indicato, ma continua a non funzionare.
    Eppure il server dove ho fatto le prove supporta le librerie CDOSYS.

    Ecco il codice:

    <%
    Dim objMail, objConfig
    ' Crea l'oggetto email
    Set objMail = createObject("CDO.Message")
    ' Dimensiona l'oggetto configurazione
    Set objConfig = Server.createObject ("CDO.Configuration")

    ' Imposta le configurazioni
    With objConfig


    ' Server SMTP di uscita
    ' ATTENZIONE! Usare il proprio indirizzo di server email!
    ' E' FONDAMENTALE per l'invio della email
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.yodastudio.com"

    ' Porta SMTP
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

    ' Porta CDO
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

    ' Timeout
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
    .Fields.update
    End With

    ' Assegna le configurazioni
    Set objMail.Configuration = objConfig

    ' Assegna all'oggetto le proprietà necessarie
    objMail.From = "info@yodastudio.com" ' Mittente
    objMail.To = "info@yodastudio.com" ' Destinatario
    objMail.Subject = Request.Form("nome_txt") ' Oggetto
    objMail.HTMLBody = Request.Form("informazione_txt") ' Messaggio

    ' Invia l'email
    objMail.Send()

    Set objMail = Nothing
    %>


    Dove sbaglio? Forse qualcosa che ha a che fare con la configurazione delle porte?

    Aiuto e grazie.
    <-- Fare. O non fare. Non c'è provare. -->

    www.yodastudio.com
    segui YODA Studio su facebook

  4. #4
    Io penso che se i componenti CDONTS O CDOSYS non siano disponibili si avrebbe un errore e l'e-mail non arriverebbe a destinazione. Ti posso consigliare di fare una stampa del testo delle variabili per vedere se realmente sono valorizzate:

    codice:
    Response.write(Request.form("cognome_txt"))
    Response.write(Request.form("mail_txt"))
    Response.write(Request.form("strbody"))
    Ciao

  5. #5
    Chiedo scusa mi sono espresso male.

    Con il nuovo codice che ho inserito (quello consigliato da Roby) non funziona assolutamente più nulla, nessuna email viene inviata.

    Quindi ne deduco che c'è qualcosa che non va nel codice, ma non so cosa.

    Il riferimento che facevo alla configurazione delle porte è perchè ho lasciato il valore che era già presente nell'esempio, ma non ho idea se vada cambiato oppure no.

    Grazie
    <-- Fare. O non fare. Non c'è provare. -->

    www.yodastudio.com
    segui YODA Studio su facebook

  6. #6
    Adesso ti posto un esempio che a me funziona:
    codice:
    Set link = CreateObject("CDONTS.Newmail") 
    link.From = "inserisci qui l'email del mittente"
    link.To = "inserisci qui l'email del destinatario" 
    link.Subject = "Messaggio" 
    link.Body = "ciao a tutti" 
    link.attachfile("inserisci qui il percorso del file da allegare")
    link.Send 
    Set link = Nothing
    Per far funzionare questo codice devi aver registrato la libreria CDONTS.DLL che troverai con una piccola ricerca su internet.
    ciao

  7. #7
    Come ho già detto, con le librerie CDONTS non ho problemi, ma sforunatamente il server che ospita il sito supporta solo le librerie CDOSYS, è questo il mio problema.

    Per quanto mi venga detto che online si possono trovare un'infinità di modelli, non funzionano.
    I gestori del server mi hanno garantito l'efficienza dei componenti CDOSYS, quindi ritengo che il problema sia negli script (anche perchè ognuno me ne fornisce una versione differente).

    Grazie
    <-- Fare. O non fare. Non c'è provare. -->

    www.yodastudio.com
    segui YODA Studio su facebook

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Vediamo tutto lo script che usi.

    roby

  9. #9
    Ne ho trovati diversi, ma questo è l'unico che funziona su un server (ma non su quello che deve ospitare il sito, cribbio!):


    <%
    'Impostiamo le nostre preferenze
    Dim Destinatario, Mittente, Oggetto, Testo
    Destinatario = "info@yodastudio.com"
    Mittente = "marino@ursopubblicita.it"
    Oggetto = "Oggetto della mail..."
    Testo = "Testo della mail..."

    'Creiamo l'oggetto mail con CDOSYS
    Dim eMail
    Set eMail = CreateObject("CDO.Message")

    'Definiamo i diversi attributi della nostra mail
    eMail.From = Mittente
    eMail.To = Destinatario
    eMail.Subject = Oggetto

    'Se il testo è in Html useremo HTMLBody al posto di TextBody
    eMail.TextBody = Testo

    'Stabiliamo il livello di importanza (1 o 2)
    eMail.Fields("urn:schemas:httpmail:importance").Va lue = 2
    eMail.Fields.Update()

    'Inviamo la mail!
    eMail.Send()

    'Eliminiamo l'oggetto...
    Set eMail = Nothing
    %>


    Per quel poco che ho capito, su alcuni server è necessario autenticare l'email (o qualcosa del genere, comunque si deve chiedere una sorta di autorizzazione, tu saprai meglio di me di cosa si tratta), quindi credo che lo script sopra riportato non funzioni su quei server che richiedono l'autorizzazione (o quello che è).

    Allora ho provato con:

    DIM corpoMessaggio, numeroCampi, invioA, invioDa, nomeDominio, indirizzoIp, modulo, browserSistemaOperativo

    '* voce da modificare con il proprio indirizzo email

    invioA = "marino@yodastudio.com"

    '* voce da modificare con un indirizzo email che funga da mittente:
    '* in caso di errore riceverete notifica a questo indirizzo un MAILER-DAEMON
    '* dato che cdosys supporta questa notifica

    invioDa = "padawan@yodastudio.it"

    '------------fine modifiche necessarie------------------

    nomeDominio = Request.ServerVariables("HTTP_HOST")
    indirizzoIp = Request.ServerVariables("REMOTE_ADDR")
    modulo = Request.ServerVariables("HTTP_REFERER")
    browserSistemaOperativo = Request.ServerVariables("HTTP_USER_AGENT")

    '*rilevo i campi del form

    FOR numeroCampi = 1 TO (Request.Form.Count() - 1)
    IF NOT Request.Form(numeroCampi) = "" THEN
    corpoMessaggio = corpoMessaggio & vbCrLf & Request.Form.Key(numeroCampi) & " = " & Trim(Request.Form(numeroCampi))
    END IF
    NEXT

    '* creo gli oggetti cdosys sul server e li gestisco

    DIM iMsg, Flds, iConf

    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")
    Set Flds = iConf.Fields

    Flds(cdoSendUsingMethod) = cdoSendUsingPort
    Flds(cdoSMTPServer) = "smtp.globalitalia.it"
    Flds(cdoSMTPServerPort) = 25
    Flds(cdoSMTPAuthenticate) = cdoAnonymous ' 0
    Flds.Update

    With iMsg
    Set .Configuration = iConf
    .To = invioA
    .From = Request.Form("email")
    .Sender = invioDa
    .Subject = "Contatto dal dominio " & nomeDominio
    .TextBody = "Questi i dati inseriti nel modulo presente alla pagina " & modulo & " da utente con indirizzo IP " & indirizzoIp & " browser e sistema operativo " & browserSistemaOperativo & vbCrLf & corpoMessaggio & ""
    .Send
    End With
    %>


    Ma questo proprio non funziona da nessuna parte dal momento che non conosco il server di posta in uscita del server che ospita il sito (ne del server di prova ne tantomeno del server che ospiterà il sito definitivamente).

    A questo punto ci sono una serie di altri script che mi sono stati consigliati da gente che li usa con successo, ma anche in questi casi se non conosco il server di posta in uscita non posso fare nulla.

    Domani mi informerò con queste aziende per sapere qualcosa.
    Nel frattempo ti mando anche questo:

    Set objCDOSYSMail = Server.CreateObject("CDO.Message")

    objCDOSYSMail.Configuration.Fields.Item _
    ("http://schemas.m icroso ft.com /cdo/configuration/sendusing") = 2
    objCDOSYSMail.Configuration.Fields.Item _
    ("http://schemas.m icroso ft.com /cdo/configuration/smtpserver") = "44.11.55.77"
    'Questo è l'indirizzo smtp del server che ospita il sito (di fantasia)
    objCDOSYSMail.Configuration.Fields.Item _
    ("http://schemas.m icroso ft.com /cdo/configuration/smtpserverport") = 25
    objCDOSYSMail.Configuration.Fields.Update

    objCDOSYSMail.From = "pippo@pluto.it" & nbsp; 'i ndirizzo e-mail del mittente
    objCDOSYSMail.To = Session("email") & nbsp; 'i ndirizzo e-mail del destinatario
    objCDOSYSMail.Subject = "Questo Oggetto" 'Oggetto del messaggio
    objCDOSYSMail.HTMLBody = HTML 'Corpo del messaggio (HTML è una variabile che contiene tutto il corpo del messaggio)
    objCDOSYSMail.Send 'Spedisce l'email

    Set objCDOSYSMail = Nothing 'Cancello l'oggetto objCDOSYSMail


    Chi me l'ha dato dice che funziona, ma a me ha creato solo confusione.

    Grazie e buonanotte
    <-- Fare. O non fare. Non c'è provare. -->

    www.yodastudio.com
    segui YODA Studio su facebook

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma il tuo problema è online o in locale?
    Sei in hosting? Perché non chiedi a loro quali caratteristiche deve avere il tuo script di interfacciamento per CDOSYS?

    Roby

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 © 2025 vBulletin Solutions, Inc. All rights reserved.