Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: registrazioe e CDOSYS

  1. #1

    registrazioe e CDOSYS

    Ho la necessità di creare un'area di registrazione degli utenti ad un sito.

    Ho trovato qualcosa di molto simile a ciò che avevo in mente, qui:


    freeasp.html.it/guide/lezione.asp?id=61



    Lo script prevede l'invio di una email all'utente con la password generata caualmente ma non riesco ad adattare il codice a CDOSYS?

    Qualcuno può gentilmente aiutarmi con questo script o segnalarmi qualcosaltro di simile?

    grazie



    codice:
    Sub manda_posta(nome,password,email)
    
    Dim objMail, messaggio
    
    	messaggio = "Grazie per ......"
    	messaggio = messaggio & VBcrlf & "username = " & email 
    	messaggio = messaggio & VBcrlf & "password = " & password
    	
        Set objMail = Server.CreateObject("CDONTS.NewMail")
    
        objMail.From = "armadillos@libero.it"
        objMail.To = email
    	objMail.Subject = "Grazie per..."
        objMail.Body = messaggio
    
        objMail.importance = 0
        'objMail.Send
    
        Set objMail = Nothing
    end sub

  2. #2

  3. #3
    innanzitutto, grazie per la risposta!

    ho provato a modificare il codice appoggiandomi al link che mi hai dato:



    codice:
    Sub manda_posta(nome,password,email)
    
    
    Dim objMail, objConfig 
    
    ' Crea l'oggetto email 
    Set objMail = Server.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") = "smtp.aruba.it"
    
    ' 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@sito.com" ' Mittente 
    objMail.To = Request.Form("email") ' Destinatario 
    objMail.Subject = "Ecco la tua password, " & nome & "" ' Oggetto 
    objMail.TextBody = "La tua password è " & password & "" ' Messaggio 
    
    ' Invia l'email 
    objMail.Send() 
    
    Set objMail = Nothing 
    
    end sub

    Ma ricevo questo errore:

    ADODB.Recordset error '800a0e78'

    Operation is not allowed when the object is closed.

    /area_riservata/metti_aggiungi_cliente.asp, line 53



    puoi aiutarmi?

  4. #4
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    La riga 53?

  5. #5
    scusami, hai ragione!
    le email vengono inviate (le ho ricevute) ma compare quell'errore

    ti posto il codice completo (in rosso la riga 53):

    codice:
    <%
    Option Explicit
    '------------------------------------------------------------------------
    'Description : raccoglie i dati del cliente
    'Comments	: 
    'Date Built	: 7 Aprile 2001
    '------------------------------------------------------------------------
    Dim nome, cognome, email, password, data
    Dim strConn, objConn, objRs, strsql
    %>
    
    <%
    'genera la password
    password = genera_pwd()
    
    'preleva dal form
    nome = Request.Form("nome")
    cognome = Request.Form("cognome")
    email = Request.Form("email")
    data = Date()
    
    'inserisci nel database
    strConn = Application("dbconn")
    
    strsql = "INSERT INTO UTENTI (nome, cognome, username, password, data, email)" 
    strsql = strsql & " Values('" 
    strsql = strsql & nome & "','"
    strsql = strsql & cognome & "','"
    strsql = strsql & email & "','"
    strsql = strsql & password & "',#"
    strsql = strsql & data & "#,'"
    strsql = strsql & email & "')"
    'il problema con reserved words...login, password
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open strConn
    
    Set objRs = objConn.Execute(strsql)
    
    objConn.close
    set objConn = Nothing
    
    'molte grazie...
    Response.write "<div align=center>"
    Response.write "
    
    
    
    
    
    "
    Response.write "<font size=+1 color=midnightblue face=verdana>"	
    Response.write "Il tuo nome e' stato aggiunto alla nostra database.
    "
    Response.write "La password ti arrivera' in un minuto... via email. 
    "
    Response.write "Grazie per l'aiuto."
    Response.write "</font></div>"
    
    call manda_posta(nome,password,email)
    
    objRs.close 
    Set objRs = Nothing
    
    '--------------------------------------------------------------------
    Function genera_pwd()
    '---------------------------------------------------------------------
    ' Description : Generates a password
    ' Date Created : 11-04-2001
    ' Comment :  
    '---------------------------------------------------------------------
    
    	Dim i, x
    	Dim chars(36)
    	Dim pwd(8)
    	
    	x = 0 
    	'a-z
    	for i = 97 to 122
    		chars(x) = chr(i)
    		x = x + 1
    	next
    	'0-9
    	for i = 48 to 57
    		chars(x) = chr(i)
    		x = x + 1
    	next
    	password = "" 
    	For i = 1 to 8
    		Randomize
    		password = password & chars(Int(UBound(chars) - LBound(chars) + 1) * Rnd + LBound(chars))
    	next
    	genera_pwd = password
    end Function
    '------------------------------------------------------
    
    Sub manda_posta(nome,password,email)
    
    
    Dim objMail, objConfig 
    
    ' Crea l'oggetto email 
    Set objMail = Server.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") = "smtp.aruba.it"
    
    ' 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@sito.com" ' Mittente 
    objMail.To = Request.Form("email") ' Destinatario 
    objMail.Subject = "Ecco la tua password, " & nome & "" ' Oggetto 
    objMail.TextBody = "La tua password è " & password & "" ' Messaggio 
    
    ' Invia l'email 
    objMail.Send() 
    
    Set objMail = Nothing 
    
    Response.Write("Email inviata correttamente")
    
    end sub
    
    %>

  6. #6
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Sposta questo alla fine del codice:
    codice:
    objRs.close 
    Set objRs = Nothing

  7. #7
    L'ho spostato in fondo ma mi da lo stesso errere


    codice:
    ' Invia l'email 
    objMail.Send() 
    
    Set objMail = Nothing 
    
    Response.Write("Email inviata correttamente")
    
    end sub
    
    objRs.close
    Set objRs = Nothing 
    %>

  8. #8
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Prova così:
    codice:
    Sub manda_posta(nome,password,email)
    
    'CDOSYS
    Set miaMail = CreateObject("CDO.Message")
    miaMail.From = "pop@aruba.it"
    miaMail.To = "pop@aruba.it"
    miaMail.Subject = "Oggetto del messaggio"
    miaMail.TextBody = "msg di prova CDOSYS"
    miaMail.Send
    Set miaMail = Nothing
    
    end sub
    Se non dovesse andare elimina temporaneamente la chiusura e la distruzione del recordset; bisogna fare debug se no è complicato risolvere...

  9. #9
    Con il codice che mi hai postato ricevo questo errore:


    Microsoft VBScript runtime error '800a01f4'

    Variable is undefined: 'miaMail'

    /area_riservata/metti_aggiungi_cliente.asp, line 91



    linea 91:
    Set miaMail = CreateObject("CDO.Message")


    Ora provo ad elimina la chiusura e la distruzione del recordset...

  10. #10
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Aspetta... hai messo in cima alla pagina
    codice:
    Option Explicit
    quindi modifica così:
    codice:
    Sub manda_posta(nome,password,email)
    
    'CDOSYS
    Dim miaMail 
    Set miaMail = CreateObject("CDO.Message")
    miaMail.From = "pop@aruba.it"
    miaMail.To = "pop@aruba.it"
    miaMail.Subject = "Oggetto del messaggio"
    miaMail.TextBody = "msg di prova CDOSYS"
    miaMail.Send
    Set miaMail = Nothing
    
    end sub

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.