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:
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:
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 |