Recupero password

  • Creatore Discussione Creatore Discussione windt
  • Data di inizio Data di inizio

windt

Utente Attivo
7 Giu 2016
59
5
8
Salve ragazzi, come al solito qualche piccolo problemino sorge sempre. Non riesco a fare partire la mail per il recupero della

 
Ultima modifica:
@windt
Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
PHP (2).png
quando posti del codice php, oppure la funzione codice dalla barra degli strumenti
box inserisci.png

Inoltre IMPORTANTE: Prima di creare una nuova discussione o di rispondere alle discussioni esistenti ricordati di leggere attentamente il Regolamento del Forum e l'eventuale regolamento specifico della sezione!

Grazie

Correggi i tuoi post
mi raccomando altrimenti sarò costretto a cancellare le discussioni
 
Sostituisci:
Codice:
' esiste
'__________________________________________________________________________________
' configurazione mail
' Windows XP / 2003
cSmtpServer = "smtp.elektric.it"
cSmtpPort = "25"
cSMTPUser = ""
cSMTPPassword = ""

' invio e-mail di notifica
Set myMail = Server.CreateObject("CDO.Message")
'CDO Port (1=localhost 2=network)
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
'Out going SMTP server
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")= cSmtpServer
'SMTP port
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")= cSmtpPort
'SMTP Server password
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/c-do/configuration/sendpassword") = cSMTPPassword
'SMTP Server username
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/c-do/configuration/sendusername") = cSMTPUser
'Timeout
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
'Update
myMail.Configuration.Fields.Update
' Windows XP / 2003
' oggetto
myMail.Subject = "Recupero password"
' mittente
myMail.From = "info@elektric.it"
' destinatario
myMail.To = u_email
' messaggio
myMail.HTMLBody = "Ciao "&u_id&", la tua Password e "&u_password&")"
' send
myMail.Send
Set myMail = Nothing
' confermo e redirect
Response.Write("Password inviata all'indirizzo "&U_email)
Response.Write("<br> ")
'__________________________________________________________________________________

con:

Codice:
' esiste
'__________________________________________________________________________________
' configurazione mail
Set objMail = Server.CreateObject("CDO.Message") 
Set objConfig = Server.createObject("CDO.Configuration") 
    With objConfig 
        .Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        .Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 
        .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver")= "smtp.elektric.it"
        .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport")= 25
        .Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = ""
        .Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = ""
        .Fields.Update
    End With 
                
Set objMail.Configuration = objConfig ' Assegna le configurazioni
    objMail.From = "info@elektric.it" ' Mittente dell'email (indirizzo)
    objMail.To = u_email ' Destinatario dell'email (indirizzo) 
    objMail.Subject = "Recupero password" ' Oggetto dell'email
    objMail.HTMLBody = "Ciao "&u_id&", la tua Password e "&u_password&")" ' Corpo del messaggio Formato HTML 
    objMail.Send() ' Invia l'email 
Set objMail = Nothing 
'__________________________________________________________________________________
 
Ciao Paolo, grazie per l'aiuto. Non mi restituisce nessun errore. Se inserisco indirizzo mail mi dice che non esiste, se non indico niente mi dice che non sono registrato. Ho inserito correzione come da te suggerita.
ASP.net:
<!--#include file="Connections/connDUclassified.asp" -->

<html>
<body>
<h3 align="center">Hai dimenticato la Password?</h3>
<p align="center">Inserisci l'indirizzo email con cui ti sei registrato e la riceverai entro pochi minuti!</p>
<p align="center">
    <form method="POST" action="pass.asp?invia=u_password">
    <input type="text" name="u_email" />
    <input type="submit" value="OK" />
    </form>
</p>
<p align="center">
<%

    invia = Request.QueryString("invia")
    email = Request.Form("u_email")

If invia = "u_password" Then
  
   If email <> "" Then
                 'Apro la connessione al database e verifico che l'utente esista
                strConnect = "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("../mdb-database/DUclassified.mdb")
            Set Rs = Server.CreateObject("ADODB.Recordset")
                Rs.ActiveConnection = strConnect
                Rs.Source = "SELECT * FROM users WHERE u_email = '"&U_email&"'"
                Rs.CursorType = 0
                Rs.CursorLocation = 2
                Rs.LockType = 1
                Rs.Open()
              If NOT Rs.EOF Then
            
                    username = (Rs.Fields.Item("u_id").Value)
                    password = (Rs.Fields.Item("u_password").Value)



' esiste
'__________________________________________________________________________________
' configurazione mail
Set objMail = Server.CreateObject("CDO.Message")
Set objConfig = Server.createObject("CDO.Configuration")
    With objConfig
        .Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        .Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
        .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver")= "smtp.elektric.it"
        .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport")= 25
        .Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = ""
        .Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = ""
        .Fields.Update
    End With
                
Set objMail.Configuration = objConfig ' Assegna le configurazioni
    objMail.From = "info@elektric.it" ' Mittente dell'email (indirizzo)
    objMail.To = u_email ' Destinatario dell'email (indirizzo)
    objMail.Subject = "Recupero password" ' Oggetto dell'email
    objMail.HTMLBody = "Ciao "&u_id&", la tua Password e "&u_password&")" ' Corpo del messaggio Formato HTML
    objMail.Send() ' Invia l'email
Set objMail = Nothing
'__________________________________________________________________________________


                ' confermo e redirect
                Response.Write("Password inviata all'indirizzo "&U_email)
                Response.Write("<br> ")
                '__________________________________________________________________________________
            Else
                ' non esiste
                  Response.Write("<font color='#FF0000'>Email non presente, non sei registrato...!</form>")
            End If
            
            ' chiudo e distruggo tutto
            Rs.Close
        Set Rs = Nothing ' chiudo il recordset

    Else ' e-mail vuota
      
             ' Se non viene inerito alcun indirizzo email restituisco un messaggio di errore
                 Response.Write("<font color=#FF0000>Indirizzo Email non è corretto!</form>")
  
   End If ' chiudo controllo e-mail
  
End If ' chiudo tutto

%>
</p>
</body>
</html>
 
...allora non è un problema di invio email, avevi esordito con "Non riesco a fare partire la mail per il recupero della... ", probabilmente il valore inserito nel form email non viene passato nel modo corretto nel database o non viene valorizzato per niente. Appena ho tempo ricontrollo il codice, ma ha mai funzionato?
 
Ciao Paolo, nella confusione sicuramente mi ero espresso male. E' da 2 mesi che cerco di farlo funzionare ma senza nessun risultato :-(
 
intanto correggi questo codice, in particolare questa riga con la variabile email errata:
Codice:
email = Request.Form("u_email")

devi sostituirla con questa, con la variabile email giusta:
Codice:
u_email = Request.Form("u_email")
 
Ultima modifica:
Fatto, ho anche corretto questa riga in questo modo "" If u_email <> "" Then""
Finalmente adesso funziona invio della mail, mi resta solo il problema che nella mail riporta dei segni grafici anziche il nome utente e la password
 
Paolooooo, grazie a te ho trovato gli errori :) adesso funziona tutto... finalmente. Poi devo trovare degli spunti tuoi per andare a capo in un texarea ;);). E' una fortuna che ci sei, sei sempre disponibile con il tuo aiuto. Un grandissimo grazie
 
Come ti dicevo mi è rimasto da configurare solo questaparte di codice, che lla mail che arriva si legge solo l'ultima riga
ASP.net:
Set objMail.Configuration = objConfig ' Assegna le configurazioni
    objMail.From = "info@elektric.it" ' Mittente dell'email (indirizzo)
    objMail.To = u_email ' Destinatario dell'email (indirizzo)
    objMail.Subject = "Recupero password" ' Oggetto dell'email
    objMail.HTMLBody = "Ciao "&u_first&", " ' Corpo del messaggio Formato HTML
    objMail.HTMLBody = "Per la tua richiesta le informazioni di login sono : " & vbCrLf & vbCrLf  ' Corpo del messaggio Formato HTML
    objMail.HTMLBody = "Username: "& u_id & vbCrLf ' Corpo del messaggio Formato HTML
    objMail.HTMLBody = "Password: "& u_password & vbCrLf & vbCrLf & vbCrLf ' Corpo del messaggio Formato HTML
    objMail.HTMLBody = "Clicca questo collegamento per accedere alla pagina del Login : " & ServerURL & "login.asp" & vbCrLf & vbCrLf ' Corpo del messaggio Formato HTML
    objMail.HTMLBody = "----------------------------------------------------" & vbcrlf ' Corpo del messaggio Formato HTML
    objMail.HTMLBody = "Powered by "& Live_server & vbcrlf' Corpo del messaggio Formato HTML
    
    objMail.Send() ' Invia l'email
Set objMail = Nothing
 
sostituisci:
Codice:
    objMail.HTMLBody = "Ciao "&u_first&", " ' Corpo del messaggio Formato HTML
    objMail.HTMLBody = "Per la tua richiesta le informazioni di login sono : " & vbCrLf & vbCrLf  ' Corpo del messaggio Formato HTML
    objMail.HTMLBody = "Username: "& u_id & vbCrLf ' Corpo del messaggio Formato HTML
    objMail.HTMLBody = "Password: "& u_password & vbCrLf & vbCrLf & vbCrLf ' Corpo del messaggio Formato HTML
    objMail.HTMLBody = "Clicca questo collegamento per accedere alla pagina del Login : " & ServerURL & "login.asp" & vbCrLf & vbCrLf ' Corpo del messaggio Formato HTML
    objMail.HTMLBody = "----------------------------------------------------" & vbcrlf ' Corpo del messaggio Formato HTML
    objMail.HTMLBody = "Powered by "& Live_server & vbcrlf' Corpo del messaggio Formato HTML
con questo:
Codice:
messaggio = "<br /><hr />Ciao "&u_first&", in relazione alla tua richiesta, le credenziali per poter accedere al sistema sono le seguenti:<br />"
messaggio = messaggio&". username: "& u_id & "<br />"
messaggio = messaggio&". password: "& u_password & "<br />"
messaggio = messaggio&"Clicca questo collegamento per accedere alla pagina del Login : <a href=" & ServerURL & " target='_blank'>accedi</a><br />"
messaggio = messaggio&"<hr />"
messaggio = messaggio&"Powered by "& Live_server & "<br />"

objMail.HTMLBody = messaggio

il messaggio generato dovrebbe essere una cosa del genere:
1590476112182.png
 
Un immenso grazieeeee, adesso si che funziona tutto. Forse più avanti dovro disturbarti nuovamente perchè, mentre la mail di questo form arriva perfettamente e velocemente nella casella di posta, quella del form di chi contatta l'inserzionista arriva come spam......,, ci sto lavorando e voglio provare a riuscire da solo ;);). Cmq sempre grazie per la tua preziosa e impagabile disponibilità. Luigi
 

Discussioni simili