IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Envoi d'email : Données non initialisées


Sujet :

VB.NET

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Envoi d'email : Données non initialisées
    Je suis capable d'envoyer ma page aspx par email, mais dans le corps du body du email, mes labels et ma listview sont vide.
    Au dirait que la fonction ScreenScrapeHtml crée une nouvelle version de la page, mais les valeurs sont même pas initialisé...

    Pis quand je load la page manuellement avec response.redirect, sa marche très bien.

    voici le code :

    firstpage :

    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
    40
    41
    42
            Public Sub EmailWebPage()
                'create the mail message
                Dim mail As New MailMessage()
     
                'set the addresses
                mail.From = New MailAddress("secret@gmail.com")
                mail.To.Add("secret@gmail.com")
     
                'set the content
               mail.Subject = "This is an email"
     
               'screen scrape the html
               Dim html As String = ScreenScrapeHtml("http://localhost:1067/EL/Reservation.aspx")
               mail.Body = html
               mail.IsBodyHtml = True
     
               'AUTH
               Dim mailAuth As New System.Net.NetworkCredential
               mailAuth.UserName = "secret@gmail.com"
               mailAuth.Password = "secret"
     
               'send the message
               Dim mailClient As New  System.Net.Mail.SmtpClient("smtp.gmail.com", 587)
               mailClient.EnableSsl = True
               mailClient.UseDefaultCredentials = False
     
               mailClient.Credentials = mailAuth
     
               mailClient.Send(mail)
     
     
               'smtp.Send(mail)
           End Sub 'EmailWebPage
     
           Public Function ScreenScrapeHtml(ByVal url As String) As String
     
               Dim objRequest As WebRequest = System.Net.HttpWebRequest.Create(url)
               Dim sr As New StreamReader(objRequest.GetResponse().GetResponseStream())
               Dim result As String = sr.ReadToEnd()
               sr.Close()
               Return result
           End Function
    second page :

    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
            Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
     
                'Ajouter les enristrements dans le DataSet
                dtPanier.Columns.Add("IDNom", GetType(System.String))
                dtPanier.Columns.Add("Nom", GetType(System.String))
                dtPanier.Columns.Add("Volume", GetType(System.String))
                dtPanier.Columns.Add("FormatBiere", GetType(System.String))
                dtPanier.Columns.Add("FormatQuantite", GetType(System.String))
                dtPanier.Columns.Add("Quantite", GetType(System.String))
     
               'Ajouter les colonnes dans le grid du panier
               For i = 0 To alPanierIDNom.Count - 1
                   dtPanier.Rows.Add(alPanierIDNom(i), alPanierNom(i), alPanierVolume(i), alPanierFormatBiere(i), alPanierFormatQte(i), alPanierQte(i))
               Next
     
               lvPanier.DataSourceID = Nothing
               lvPanier.DataSource = dtPanier
               lvPanier.DataBind()
     
               lPrenom2.Text = Session("sPrenom")
               lNom2.Text = Session("sNom")
               lTel2.Text = Session("sTel")
               lCourriel2.Text = Session("sCourriel")
               lAdresse2.Text = Session("sAdresse")
               lVille2.Text = Session("sVille")
               lProvince2.Text = Session("sProvince")
               lCodePostal2.Text = Session("sCodePostal")
     
           End Sub

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Il manque sans doute des éléments à ta page pour qu'elle puisse être correctement exécutée... Par exemple, les données de session ne sont pas présentes : quand tu appelles ta page à partir du serveur, ASP.NET considère, à juste titre, qu'il s'agit d'un autre visiteur, et n'accède donc pas aux données de session du visiteur actuel... Idem pour les données envoyées à la page en POST : elles ne sont pas présentes dans la requête que tu fais à partir du serveur.

    Une solution pour contourner ça serait de mettre dans la HttpWebRequest le cookie de session du client (si la gestion de session se fait avec des cookies), et d'écrire dedans les données POST de la requête courante. Mais je ne suis pas certain que ça passera...

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/07/2014, 17h07
  2. Réponses: 1
    Dernier message: 26/03/2014, 16h40
  3. Réponses: 5
    Dernier message: 26/10/2012, 14h43
  4. Sauvegarde d'un site web et de sa base de données et envoi par email
    Par syrinx75 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 09/03/2011, 20h11
  5. Envoi d'email variable non interpreté dans textaera
    Par fabien14 dans le forum Langage
    Réponses: 9
    Dernier message: 17/12/2010, 00h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo