Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Sintassi CDOSYS

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    33

    Sintassi CDOSYS

    Ho un server win2003 sul quale c'è il mio sito. Da una pagina ASp dovrei far partire una e-mail per la comunicazione di certi dati.
    Credo debba usare CDOSYS. Quale è la sintassi corretta e completa da usare?
    Cosa diavolo c'è che non va in questo codice? Il server mi ritorna un errore 500.

    Sub manda_posta(form)

    Dim email, commenti
    Dim objMessage, mandamiquesto
    nome = Request.Form("nome")
    email = Request.Form("email")
    commenti = Request.Form("commenti")
    mandamiquesto = nome & "VBcrlf" & email & "Vbcrlf" & commenti
    'costruiamo un NewMail oggetto
    Set objMessage = CreateObject("CDO.Message")
    objMessage.From = nome
    objMessage.Replyto=nome
    objMessage.To = "ced@comune.apricena.fg.it"
    objMessage.Subject = "Feedback dal sito"
    objMessage.TextBody = mandamiquesto
    objMessage.importance = 0
    objMessage.Send
    Set objMessage = Nothing

    end sub

    Le variabili form e nome sono dichiarate nella procedura che chiama quella postata
    Vi prego ragazzi ho davvero bisogno che qualcuno mi soccorra urgentemente.
    Grazie

  2. #2
    codice:
     
     
    
    <html> 
    <body> 
    
    <% 
    Dim objMessage, objConfig 
    
    'Crea gli oggetti per il messaggio e per la configurazione 
    Set objMessage = CreateObject("CDO.Message") 
    Set objConfig = CreateObject("CDO.Configuration") 
    
    'Configurazione server smtp 
    objConfig.Fields(cdoSendUsingMethod) = cdoSendUsingPort 
    objConfig.Fields(cdoSMTPServer) = "server_smtp" ' in genere localhost
    objConfig.Fields(cdoSMTPServerPort) = 25 
    
    'Aggiornamento configurazione 
    objConfig.Fields.Update 
    Set objMessage.Configuration = objConfig 
    
    'crea il messaggio 
    objMessage.To = " technt@alicomitalia.it " 
    objMessage.Cc = " info@alicom.com ; info@tol.it " 
    objMessage.Bcc = " tech@alicom.com " 
    objMessage.From = """NT"" < technt@alicomitalia.it >" 
    objMessage.ReplyTo = " technt@alicomitalia.it " 
    objMessage.Subject = "Invio Email CDOsys" 
    'objMessage.TextBody = "messaggio in formato testuale" 
    objMessage.HtmlBody = "<html><body>messaggio in formato 
    HTML</body></html>" 
    
    ' gestione errori 
    On Error Resume Next 
    
    ' Send the CDOSYS Message 
    objMessage.Send 
    Set objMessage = Nothing 
    Set objConfig = Nothing 
    
    'visualizza un messaggio di ok in caso di invio senza problemi 
    'altrimenti visualizza il messaggio di errore 
    If Err.Number = 0 Then 
    Response.Write "Il messaggio è stato inviato; nessun errore!<hr>" 
    Else 
    Response.Write Err.Description & "<hr>" 
    Err.Number = 0 
    End If 
    On Error Goto 0 
    
    %> 
    </body> 
    </html>

    fai un pò così......devi adattarlo naturalmente

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    33
    Mi puoi spiegare perchè creare un oggetto per la configurazione? di cosa si tratta

  4. #4
    se ci fai caso si crea il config per dargli le direttive fondamentali per far partire la mail. in sintesi è questo...poi perchè si usa così non saperi dirti, ma sicurmamente Microsoft avrà fatto della documentazione a riguardo......

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    33
    Scusami se ti disturbo, ma sono davvero nei guai.
    Ti posto il codice completo del file asp

    <%
    Option Explicit
    Dim form, nome
    %>



    <Html>
    <head>
    <title>pagina2</title>
    </head>
    <body>
    <%
    call Main()
    Sub Main()

    'se la lungezza è 0 non c'e niente nell email
    If Len(Request.Form("email")) = 0 then
    no_email()
    else
    manda_posta(form)
    ecco_fatto(nome)
    end if
    End sub

    Sub no_email()

    response.write "<div align='center'>"
    response.write "<table border='0' width='80%' cellspadding='4' cellspacing='4'>"
    response.write "<tr><td>niente email...?</td></tr>"
    response.write "<tr><td>per favore, torna indiedro e... </td></tr>"
    response.write "<tr><td align='middlè>"
    response.write "Prova di nuovo"
    response.write "</td></tr></table></div>"
    End Sub

    Sub manda_posta(form)
    Dim email, commenti
    Dim objMessage, objConfig, mandamiquesto
    nome = Request.Form("nome")
    email = Request.Form("email")
    commenti = Request.Form("commenti")
    mandamiquesto = nome & "VBcrlf" & email & "Vbcrlf" & commenti

    'Crea gli oggetti per il messaggio e per la configurazione
    Set objMessage = CreateObject("CDO.Message")
    Set objConfig = CreateObject("CDO.Configuration")

    'Configurazione server smtp
    objConfig.Fields(cdoSendUsingMethod) = cdoSendUsingPort
    objConfig.Fields(cdoSMTPServer) = "localhost"
    objConfig.Fields(cdoSMTPServerPort) = 25

    'Aggiornamento configurazione
    objConfig.Fields.Update
    Set objMessage.Configuration = objConfig

    'crea il messaggio
    objMessage.To = " ced@comune.apricena.fg.it"
    objMessage.Cc = " amedeo.font@tiscali.it "
    objMessage.From = nome
    objMessage.ReplyTo = nome
    objMessage.Subject = "Invio Email CDOsys"
    objMessage.TextBody = mandamiquesto
    objMessage.HtmlBody = "<html><body>messaggio in formato HTML</body></html>"

    ' gestione errori
    On Error Resume Next

    ' Send the CDOSYS Message
    objMessage.Send
    Set objMessage = Nothing
    Set objConfig = Nothing

    'visualizza un messaggio di ok in caso di invio senza problemi
    'altrimenti visualizza il messaggio di errore
    If Err.Number = 0 Then
    Response.Write "Il messaggio è stato inviato; nessun errore!<hr>"
    Else
    Response.Write Err.Description & "<hr>"
    Err.Number = 0
    End If
    On Error Goto 0
    end sub

    Sub ecco_fatto(nome)

    response.write "<div align='center'>"
    response.write "<table border='0' width='80%' cellspadding='4' cellspacing='4'>"
    response.write "<tr><td>Grazie " & nome & " per il...</td></tr>"
    response.write "<tr><td align='middlè>"
    response.write "Continua"
    response.write "</td></tr></table></div>"
    End sub
    %>
    </body>
    </html>


    il browser mi ritorna il seguente errore

    Uno o più indirizzi di destinatari sono stati respinti dal server. Risposta del server: 550 5.7.1 Unable to relay for ced@comune.apricena.fg.it

    Puoi dirmi qualcosa?

  6. #6
    innanzitutto la prima cosa che mi vedo è che hai lasciato come invio di posta sia in formato testo che in formato html.....che io sappia devi fare o l'uno o l'altra......
    poi al posto di

    objConfig.Fields(cdoSMTPServer) = "localhost"

    è probabile che tu debba mettere

    objConfig.Fields(cdoSMTPServer) = "mail.tuodominio.it" ma per questo devi chiederlo al tuo host.......
    son le prime due cose che mi vengono anche perchè il codice sembra tutto corretto......

    e non preoccuparti per il disturbo.-....

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    33
    ho modificato il file secondo le tue indicazioni. Il nuovo codice è il seguente:

    <%
    Option Explicit
    '--------------------------------------------------------
    'Purpose: processes the feedback mail
    'Date: 10 March 2001
    'Commenti:
    '--------------------------------------------------------
    Dim form, nome
    %>



    <Html>
    <head>
    <title>pagina2</title>
    </head>
    <body>
    <%
    call Main()
    Sub Main()
    '--------------------------------------------------------
    'Purpose: la logica dell'applicazione
    'Date: 10 March 2001
    'Commenti:
    '--------------------------------------------------------
    'se la lungezza è 0 non c'e niente nell email
    If Len(Request.Form("email")) = 0 then
    no_email()
    else
    manda_posta(form)
    ecco_fatto(nome)
    end if
    End sub

    Sub no_email()
    '--------------------------------------------------------
    'Purpose: manda un messaggio se email è vuoto
    'Date: 10 March 2001
    'Commenti: potevamo usare javascript per forzare il cliente
    'ma questi sono esempi di ASP
    '--------------------------------------------------------
    'allora diciamo al cliente che senza una email non possiamo rispondergli
    response.write "<div align='center'>"
    response.write "<table border='0' width='80%' cellspadding='4' cellspacing='4'>"
    response.write "<tr><td>niente email...?</td></tr>"
    response.write "<tr><td>per favore, torna indiedro e... </td></tr>"
    response.write "<tr><td align='middlè>"
    response.write "Prova di nuovo"
    response.write "</td></tr></table></div>"
    End Sub
    Sub manda_posta(form)
    '--------------------------------------------------------
    'Purpose: manda la email
    'Date: 10 March 2001
    'Commenti:
    '--------------------------------------------------------
    Dim email, commenti
    Dim objMessage, objConfig, mandamiquesto
    'facciamo la vendemmia dell'input
    nome = Request.Form("nome")
    email = Request.Form("email")
    commenti = Request.Form("commenti")
    mandamiquesto = nome & "VBcrlf" & email & "Vbcrlf" & commenti
    'costruiamo un NewMail oggetto

    'Crea gli oggetti per il messaggio e per la configurazione
    Set objMessage = CreateObject("CDO.Message")
    Set objConfig = CreateObject("CDO.Configuration")

    'Configurazione server smtp
    objConfig.Fields(cdoSendUsingMethod) = cdoSendUsingPort
    objConfig.Fields(cdoSMTPServer) = "server-web.municipioapricena.it"
    objConfig.Fields(cdoSMTPServerPort) = 25

    'Aggiornamento configurazione
    objConfig.Fields.Update
    Set objMessage.Configuration = objConfig

    'crea il messaggio
    objMessage.To = " ced@comune.apricena.fg.it"
    objMessage.Cc = " amedeo.font@tiscali.it "
    objMessage.From = nome
    objMessage.Subject = "Invio Email CDOsys"
    objMessage.TextBody = mandamiquesto

    ' gestione errori
    On Error Resume Next

    ' Send the CDOSYS Message
    objMessage.Send
    Set objMessage = Nothing
    Set objConfig = Nothing

    'visualizza un messaggio di ok in caso di invio senza problemi
    'altrimenti visualizza il messaggio di errore
    If Err.Number = 0 Then
    Response.Write "Il messaggio è stato inviato; nessun errore!<hr>"
    Else
    Response.Write Err.Description & "<hr>"
    Err.Number = 0
    End If
    On Error Goto 0
    end sub

    Sub ecco_fatto(nome)
    '--------------------------------------------------------
    'Purpose: manda un ringraziamento
    'Date: 10 March 2001
    'Commenti:
    '--------------------------------------------------------
    response.write "<div align='center'>"
    response.write "<table border='0' width='80%' cellspadding='4' cellspacing='4'>"
    response.write "<tr><td>Grazie " & nome & " per il...</td></tr>"
    response.write "<tr><td align='middlè>"
    response.write "Continua"
    response.write "</td></tr></table></div>"
    End sub
    %>
    </body>
    </html>

    Ora però mi da questo errore

    Indirizzo del mittente respinto dal server. Risposta del server: 501 5.5.4 Invalid Address

    Non so cosa dirti per farmi credere: devo risolvere il problema assolutamente oggi. Domenica viene pubblicato il nuovo sito e oltre questo devo aggiornare un sacco di altre pagine. AIUTAMI

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    33
    mi correggo.
    Il browser dice: Il messaggio è stato inviato; nessun errore! (secondo quanto stabilito nel codice) ma non arriva l'email al destinatario indicato nel codice.
    Un passo avantio rispetto a prima ma non risolvo il problema
    Aspetto che tu mi illumini.
    Ciao

  9. #9
    scusa il ritardo ma oggi non sono in ufficio quindi non posso rispondere assiduamente.....cmq prova a vedere se il messaggio non è restato in coda nella cartella mailroot......in genere succede così....poi non so come fare a sbloccarlo....penso che debba controllare le impostazioni del server......di più mi sa che non posso fare......

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    33
    si si trovano tuttie la le e-mail. ma nn so come sbloccarle e farle partitre automaticamente.

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.