Bonjour,
Je suis débutant en informatique, je programme en ASP.NET avec VB sur Visual Studio 2005, et je désire envoyer le contenu d'une page aspx par mail.
Voici le contenu de ma page :
Elle contient des tableaux réalisés avec l'outil de Visual Studio (les valeurs sont le resultat de requêtes SQL), un Gridview que l'on ne voit pas sur cette image et un graphique réalisé avec l'outil ChartDirector.
http://www.advsofteng.com/ pour plus d'infos.
Pour envoyer mon mail j'utilise une application WindowsForm que j'exécute sur le serveur en tâche planifiée.
Voici le code :
Ce code récupère le code HTML généré de ma page pour l'envoyer par 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 Dim fr As System.Net.HttpWebRequest Dim targetURI As New Uri(URL) fr = DirectCast(System.Net.HttpWebRequest.Create(targetURI),System.Net.HttpWebRequest) If (fr.GetResponse().ContentLength > 0) Then Dim str As New System.IO.StreamReader(fr.GetResponse().GetResponseStream()) Dim CodeSource As String = str.ReadToEnd() Dim objMail objMail = CreateObject("CDO.Message") objMail.Subject = "production du --/--/--" objMail.Sender = "blabla@truc.fr" objMail.To = "" objMail.htmlbody = CodeSource objMail.cc = "" objMail.bcc = "moi@moi.fr" objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.truc.com" objMail.Send() End If
Il fonctionne très bien avec des page ASP, mais pas pour une page aspx. Voici mon résultat dans ma boite mail.
Comme vous pouvez le voir, mon graphique n'est pas visible que ce soit avec ma messagerie Lotus ou gmail. On ne voit ni les tableaux, ni les couleurs.
J'ai réalisé la même chose avec une autre page ASPX et j'ai le même soucis pour les couleurs, je pense que cela est due au fait qu'il ne prend pas le fichier CSS en compte. Par contre le Gridview est parfaitement mis dans le mail.
Avez vous une solution, une autre fonction d'envoi de mail qui puisse prendre en compte mon graphique (surtout) et mon CSS ?
Plusieurs solution sont possible pour moi dans l'ordre de préférence,
- Recevoir la copie de la page sur mon navigateur, mais sous forme de tableaux afin de pouvoir faire des copier/coller des valeurs par exemple.
- Recevoir la page sous forme d'un fichier Excel.
- Recevoir la page sous forme d'un fichier PDF ou Image même si on ne pourra pas faire de traitement directement sur le fichier il est toujours possible de le faire sur l'intranet.
- Générer un fichier automatiquement dans ma page web, afin d'appeler cette page tous les jours et envoyer ce fichier par mail.
Merci par avance de votre aide, hésitez pas à me demander des informations supplémentaire.
Partager