Bonjour,

J'ai des problèmes avec la procédure de récupération de mdp avec gmail. Attendez avant de me pendre en fait j'ai trouvé comment créer ma propre classe de mail :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
    Public Function EnvoieMail(ByVal pAdressesMailDestination As String, ByVal pSubject As String, ByVal pBody As String) As Boolean
        Try
            Dim lFromAdresse, lUtilisateur, lPassword, lServeur, lPort, lStatutSSL As String
 
            lFromAdresse = System.Configuration.ConfigurationManager.AppSettings("AdresseExpediteur")
            lServeur = System.Configuration.ConfigurationManager.AppSettings("SmtpServeur")
            lPort = System.Configuration.ConfigurationManager.AppSettings("SmtpPort")
            lUtilisateur = System.Configuration.ConfigurationManager.AppSettings("SmtpUtilisateur")
            lPassword = System.Configuration.ConfigurationManager.AppSettings("SmtpPassword")
            lStatutSSL = System.Configuration.ConfigurationManager.AppSettings("SmtpSSL")
 
            'create the mail message
            Dim lMailMessage As New MailMessage()
 
            'set the addresses
            lMailMessage.From = New MailAddress(lFromAdresse)
            lMailMessage.To.Add(pAdressesMailDestination)
 
            'set the content
            lMailMessage.Subject = pSubject
 
            'body
            lMailMessage.Body = pBody
 
            'Port 587 is another SMTP port
            Dim smtp As New SmtpClient(lServeur, lPort)
            smtp.Credentials = New NetworkCredential(lUtilisateur, lPassword)
 
 
            smtp.EnableSsl = lStatutSSL
            smtp.Send(lMailMessage)
 
            Return True
 
        Catch e As Exception
            Return False
        End Try
    End Function
Que j'appel comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 
    Protected Sub PasswordRecovery1_SendingMail(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.MailMessageEventArgs) Handles PasswordRecovery1.SendingMail
        If (EnvoieMail("xxxx@xxxxx", "test", "coucou")) Then
            Dim message As String
            message = "Envoie du mail de récupération de mot de passe avec succés"
            Response.Write("<body><script>alert(""" & message & """);</script></body>")
        Else
            Dim message As String
            message = "Echec de l'envoie du mail de récupération de mot de passe, veuillez réessayer"
            Response.Write("<body><script>alert(""" & message & """);</script></body>")
        End If
    End Sub
Avec dans ma page aspx :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
    <asp:PasswordRecovery ID="PasswordRecovery1" runat="server" Visible="False" 
           SuccessPageUrl="~/Login.aspx" onsendingmail="PasswordRecovery1_SendingMail">
L'envoie de mail en dehors de password recovery marche mais dedans
j'obtiens : une erreur (L'adresse de messagerie de l'expéditeur doit être section de configuration system.net/mailSettings/smtp) je sais que c'est dans le web config dans <mail settings> mais moi j'ai mis le tout dans
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
  <appSettings>
    <add key="AdresseExpediteur" value="xxxxxxxx@xxxxx" />
    <add key="SmtpServeur" value="smtp.gmail.com" />
    <add key="SmtpPort" value="587" />
    <add key="SmtpUtilisateur" value="xxxxx@xxxx" />
    <add key="SmtpPassword" value="xxxx" />
    <add key="SmtpSSL" value="true" />
  </appSettings>
Mon but c'est de substituer la procédure d'envoi de mail de <password recovery> de base par la mienne (qui gere le ssl ).
Et donc l'objet de ma requête...

- Comment lui dire qu'il faut qu'il utilise ma fonction avec la conf dans appSetting et qu'il m'envoie mon mail pré formaté contenant les infos de l'usager la vérif est ok?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
[...]
<td align=right style="width: 120px">Nom d'utilisateur:</td><td><strong><%UserName%></strong></td>
<td align=right style="width: 120px">Mot de passe:</td><td><strong><%Password%></strong></td>
[...]
Je sais pas si j'ai été clair

Merci pour vos réponses qui me sortiront du vide intersidérale

Benjamin