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

ASP Discussion :

Envoi par mail d'une page asp existante


Sujet :

ASP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 98
    Points : 44
    Points
    44
    Par défaut Envoi par mail d'une page asp existante
    Salut, et oui j'ai un probleme :
    Alors pour gagner du temps voici ce que l'on ma demander de réaliser, il faut que je gére un mailing. C'est à dire que je puisse envoyer un seul mail à plus de 100 personnes sans utiliser de logiicel extérieur. Ensuite là où ca se complique c'est que le mail doit être une page ASP apuyé sur une BDD access. Pour l'envoi du mail ca marche nikel par contre je peux simplement mettre du texte ou du code html.

    Besoin d'aide pour :
    - J'utilise le composant CDO de IIS, est-il bien et esce que je risque d'avoir des problemes de spam avec ?
    - Comment puis-je lire les données de la BDD dans le mail que je vais envoyé?
    - J'ai pensé a un truc (et oui), est-il possible de convertir ou transformer le fichier asp à envoyer en Html avec les données lu à ce moment là et l'envoyer par la suite?

    Bon voila je crois que jai fait le tour, pour toute information ou solution, nésiter pas vous là chez vous.
    Merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Salut,

    Voivi un exemple d'utilisation de CDONTS (le grand frère de CDO).
    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
     Dim mailer, emailbody
     
     Set Mailer = Server.CreateObject("CDONTS.NewMail") 
      Mailer.To = "Nom complet<identifiant@domaine>"
      Mailer.Cc = "Nom complet<identifiant@domaine>"
      Mailer.Bcc = "Nom complet<identifiant@domaine>"
      Mailer.From = "Nom complet<identifiant@domaine>"
      Mailer.Subject = emailsubject
      ' Pour envoyer un mail au format HTML, ajouter ces 2 lignes :
      ' Pour laisser le mail en format PlainText, mettez des 1 pour ces 2 lignes
      Mailer.BodyFormat = 0
      Mailer.MailFormat = 0
      ' importance : 0 = normal, 1 = urgent, 2 = très urgent
      Mailer.Importance = 2
     
      Mailer.AttachFile "C:\CHEMIN FICHIER"
     
      Mailer.Body = emailbody
     
      if not Mailer.Send then
       response.write ("Mail sent to " & mailto & "<br>")
      else
       response.write ("Mail non envoyé. Erreur : ") & Err.Description
      end if
     Set Mailer = Nothing
    Tu vois que pour envoyer un mail au format HTML, il suffit je de changer deux paramètres. Ensuite, tu mets ton code HTML directement dans Mailer.Body.
    Comment puis-je lire les données de la BDD dans le mail que je vais envoyé?
    Tu te l'envoi . Ou bien tu fais afficher ce que tu mets dans Mailer.Body.

    Il est vrai que CDONTS est obsolète. Jettes un oeil par ici http://www.w3schools.com/asp/asp_send_email.asp

    A+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 98
    Points : 44
    Points
    44
    Par défaut
    Merci pour ce détail, mais encore une petite question c'est coi la différence entre le composant CDO et CDONTS, lequel est le mieu?

    Pour l'envoi de mail ca marche bien, je l'avais déjà développé mais le probleme reste l'envoi de l'asp. Ton idée de l'envoi en html est bonne mais comment récupérer le code asp traduit apres le passage de l'interpreteur sur le serveur en automatique? Cela revient à enregistrer la page asp en local via le navigateur car coté client il y a uniquement de l'html. Pour ca il me faudrait une fonction vb ou javascript qui me permette d'enregister un fichier du serveur (asp) sur le disque local (html) puis de l'éditer avec un object de lecture de fichier et de copier tt ca dans le corps html du mail. et le probleme c cette fonction.
    Merci à tt pour l'aide et surtout à celui qui me sauvera de cette épreuve.

  4. #4
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    [quote=killerhertz]c'est coi la différence entre le composant CDO et CDONTS, lequel est le mieu?[quote]La question ne se pose pas en ces termes mais plutôt lis bien ceci
    Microsoft has discontinued the use of CDONTs on Windows 2000, Windows XP and Windows 2003. If you have used CDONTs in your ASP applications, you should update the code and use the new CDO technology.
    Citation Envoyé par killerhertz
    Cela revient à enregistrer la page asp en local via le navigateur car coté client il y a uniquement de l'html...
    Ouh là là, non, il suffit de mettre le tout dans une variable comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    BodyText = "<html>" + chr(10) + chr(13)
    BodyText = BodyText + "<head>" + chr(10) + chr(13)
    BodyText = BodyText + "<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>" + chr(10) + chr(13)
    BodyText = BodyText + "<title>Untitled Document</title>" + chr(10) + chr(13)
    BodyText = BodyText + "</head>" + chr(10) + chr(13)
    BodyText = BodyText + "<body>" + chr(10) + chr(13)
    BodyText = BodyText + "TON CODE HTML" + chr(10) + chr(13)
    BodyText = BodyText + "</body></html>" + chr(10) + chr(13)
    Et tu passe le contenu de cette variable dans le "body" de ton objet "mailer"
    A+

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 98
    Points : 44
    Points
    44
    Par défaut
    Question ?

    Esce que je peux inserer de l'asp dans ce que tu me proposes?

    Merci grace à toi j'avance un peu dans mon projet

    J'y suis presque, j'arrive à recupérer la liste des destinataires, j'ai créé ma page à envoyer, j'ai un outil d'envoi de mail qui marche bien, il me reste plus qu'à trouver un pe de ciment pour lier les 3.
    (Le contenu de la page à envoyer change tt les semaines donc il faut absolument envoyé le mail avec les données lues dans l'heure)

    Bon en tout cas merci.

  6. #6
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Oui, tu peux ajouter de l'ASP, mais pas dans la variable. Tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    BodyText = BodyText & "Bonjour " & rs("genre") & " "
    BodyText = BodyText & rs("prenom") & " " & rs("nom") & ",<br>" + chr(10) + chr(13)
    Cela devrait donner
    Bonjour M. Pierre DUPONT,
    A+

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 98
    Points : 44
    Points
    44
    Par défaut
    Je vais tester ca ce soir, mais en voyant ca une question me viens a l'esprit à coi sert :
    chr(10) + chr(13) ?

    Et est-ce qu'on peut pas mettre tout en une ligne?
    A oui un dernier truc, pour la lecture de la BDD, je ne lis pas qu'une seule ligne. J'ai besoin de faire une boucle en asp (ça je sais faire) mais ecrire le resultat de la lecture en boucle dasn la variable c'est plus dur, petit coup de main plz.
    En plus je viens de penser que j'ai des fonctions javascript dans la page à envoyer et ca ca va etre gérer comment?
    Merci avec ça tu m'a redonné plaisir à programmer.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 98
    Points : 44
    Points
    44
    Par défaut
    Comment je fais pour ajouter cette ligne dans ma variable :

    BodyText = BodyText + "<body bgcolor="#000000" vlink="#FFFFFF" link="#FFFFFF">"

    Pour concatener, il faut utiliser + ou & ?

    Merci de m'éclaircir, dsl je suis pas une lumiere en prog web

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 168
    Points : 196
    Points
    196
    Par défaut
    Utilise de preference le & pour concatener car il pourra concatener plusieurs types de variables (string,int,dbl...) alors que + ne concatene que les string.

    Response.Write 1 & 2 ---> 12
    Response.Write 1 + 2 ---> 3

    Sinon chr(10) signifie que tu veux le caractere correspondant au code
    ASCII num 10 donc cela ecrit :rien car c est un saut de ligne
    ensuite il faut faire le retour chariot (et oui comme une machine a ecrire...)
    avec chr(13) qui remet le pointeur en debut de ligne.

    Tu peux utiliser Vbcrlf qui remplace chr(10) & chr(13).
    voilou

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    Sinon pour envoyer le code HTML d'une page par mail, on peut utiliser le composant JMail (il execute le code et le renvoi à l'aide de GetMessageBodyFromURL) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    dim mail
    Set mail = Server.CreateObject("JMail.SMTPMail")
    mail.ServerAddress = "server.mail.com"
    mail.AddRecipient("addrecipient@mail.com")
    mail.Sender = "sender@mail.com"
    mail.Subject = "Envoi par mail d'un code HTML"
    mail.GetMessageBodyFromURL("http://www.google.com")
    mail.Execute

  11. #11
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Citation Envoyé par killerhertz
    Comment je fais pour ajouter cette ligne dans ma variable :
    BodyText = BodyText + "<body bgcolor="#000000" vlink="#FFFFFF" link="#FFFFFF">"
    Pour concatener, il faut utiliser + ou & ?
    Merci de m'éclaircir, dsl je suis pas une lumiere en prog web
    Il faut surtout remplacer les guillemets par des apostrophes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "<body bgcolor="#000000" vlink="#FFFFFF" link="#FFFFFF">"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "<body bgcolor='#000000' vlink='#FFFFFF' link='#FFFFFF'>"
    Je vais tester ca ce soir, mais en voyant ca une question me viens a l'esprit à coi sert :
    chr(10) + chr(13) ?
    C'est un retour à la ligne dans le code source de la page html (=vbcrlf)
    A+

Discussions similaires

  1. envoi par mail d'une page aspx
    Par dev31 dans le forum ASP.NET
    Réponses: 11
    Dernier message: 15/06/2011, 14h37
  2. Envoi par mail d'une page html (dans corps de texte)
    Par Lili120 dans le forum Général Conception Web
    Réponses: 6
    Dernier message: 04/02/2011, 09h08
  3. [AC-2003] Envoi par mail d'une requête en mode graphique dynamique croisé
    Par Chov19 dans le forum VBA Access
    Réponses: 0
    Dernier message: 02/06/2009, 17h04
  4. Envoi par mail de la page html courante
    Par turtly dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 09/04/2009, 10h34
  5. Envoie de mail dans une page jsp
    Par ze veritable farf dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 29/06/2006, 11h34

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