Envoie d'un mail automatique toutes les heures [Résolu]

Signaler
Messages postés
23
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
20 mai 2005
-
Messages postés
23
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
20 mai 2005
-
Bonjour à tous,

Depuis mon site asp, je souhaite qu'un mail soit automatiquement envoyé toutes les heures.... Aucune idée... !

Est-ce que quelqu'un pourrait m'aider ?!?

22 réponses

Messages postés
224
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
14 juillet 2006

T'en mets pas...
Messages postés
211
Date d'inscription
vendredi 12 décembre 2003
Statut
Membre
Dernière intervention
15 janvier 2010

ben justement je dois faire ce code là la semaine prochaine pour mon site, et je ne sais pas comment je vais le faire !
Je pense utiliser le global.asax et l'événement session_start qui va exécuter une procédure pour le test de l'heure et l'envoie de mail.
Inconvénient, si personne ne se connecte sur le site, ben y'a pas de mail !!

je reste à l'écoute...

Bart-Rennes
Messages postés
224
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
14 juillet 2006

J'ai fait un petit script vbs qui se connecte à la base de donnée et qui envoie automatiquement le mail. Il y a quelques différences entre le script vbs et le script asp.
J'ai ensuite fait une tache planifiée pour mon fichier vbs et ça marche...
Messages postés
211
Date d'inscription
vendredi 12 décembre 2003
Statut
Membre
Dernière intervention
15 janvier 2010

Comment tu as fait ta tâche planifiée ? en asp.net, bien sur.

J'ai trouvé une autre solution, avec le sql server, scheduler un DTS qui va exécuter une page web toutes les XXheures.

Bart-Rennes
Messages postés
224
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
14 juillet 2006

C'est une tache planifiée toute conne de windows
Messages postés
211
Date d'inscription
vendredi 12 décembre 2003
Statut
Membre
Dernière intervention
15 janvier 2010

mais non ! on te parle de ça dans un site ASP.NET qui est hébergé (serveur mutualisé, donc pas accés au serveur windows)...

Bart-Rennes
Messages postés
224
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
14 juillet 2006

Désolé, mais c'était dit nulle-part que t'avais pas accès au serveur...
Un moyen que je vois mais qui implique que tu aies ton PC allumé en permanence, c'est d'avoir une tâche planifiée chez toi qui va charger une page toutes les heures.
Sinon la solution que tu proposes au début, mais effectivement si personne ne vient checker une page, alors il n'y a pas de mails envoyés.
Messages postés
23
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
20 mai 2005

Je suis en train de faire ça...
J'ai une page en asp qui envoie mon mail, jusque là, c'est ok, il faudrait donc que j'adapte ce script en vbs et le tour est joué ?!?
En tout cas, merci déjà pour toutes les infos, bien sympa.
Messages postés
224
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
14 juillet 2006

Ben comme c'est dit plus haut, si tu n'as pas accès au serveur, ça ne serviras à rien car tu ne pourras pas faire de tâche planifiée dessus. Par contre si tu as accès au serveur, oui, c'est ça.

Pour ton script VBS, tu remplaces les
server(.createobject, ...)
par
WScript(.createobject, ...)

et chez moi, le tour était joué
Messages postés
211
Date d'inscription
vendredi 12 décembre 2003
Statut
Membre
Dernière intervention
15 janvier 2010

Est-ce que tu as une base SQL server sur ton site ?
Si oui, tu peux le faire avec une DTS. C'est ce que je vais faire pour mon site.
Sinon tu peux déclarer et utiliser un timer dans un thread dans le global.asax (voir exemple sur le web: .net schedule)

Bart-Rennes
Messages postés
23
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
20 mai 2005

Non, je n'ai pas une bd SQL et la solution avec le VBS me conviendrait très bien, d'autant plus que, selon Bud, si j'ai une page asp, il me faut pas grand chose de plus pour faire une page vbs, ce qui est mon cas.
Toutefois, je n'y arrive pas... sais pas pourquoi, mais ça ne marche pas.

Page asp

<%

Option Explicit
Dim Corps		'----- Corps du message
Dim Objetstr		'----- Objet du message
Dim Item
Dim Erreur, StrErreur
Dim Str
Dim Err
Dim objMail

Dim EnTeteStr		'----- EnTete du message
Dim PiedPageStr		'----- Pied de Page du message
Dim AdresseIPstr	'----- Adresse IP de l'emetteur
Dim AdresseURLstr	'----- URL d'ou le script est appelé
Dim LoginStr		'----- Login du User

Set objMail= Server.CreateObject("CDONTS.Newmail")

objMail.mailFormat = 0
objMail.bodyFormat = 0

objMail.To = "tripet@galenicare.com"   
objMail.Cc = "tripet@galenicare.com"
objMail.BCc = "tripet@galenicare.com"       
objMail.Subject = ObjetStr
objMail.From = "tripet@galenicare.com"
objMail.Body = "TEST"
objMail.Send             
Set objMail = Nothing           

%>
<html>

<head>
<title></title>
</head>

</html>



Page vbs :

<SCRIPT Language="VBScript">

Option Explicit
Dim Corps		'----- Corps du message
Dim Objetstr		'----- Objet du message
Dim Item
Dim Erreur, StrErreur
Dim Str
Dim Err
Dim objMail

Dim EnTeteStr		'----- EnTete du message
Dim PiedPageStr		'----- Pied de Page du message
Dim AdresseIPstr	'----- Adresse IP de l'emetteur
Dim AdresseURLstr	'----- URL d'ou le script est appelé
Dim LoginStr		'----- Login du User

Set objMail= WScript.CreateObject("CDONTS.Newmail")

objMail.mailFormat = 0
objMail.bodyFormat = 0

objMail.To = "tripet@galenicare.com"   
objMail.Cc = "tripet@galenicare.com"
objMail.BCc = "tripet@galenicare.com"       
objMail.Subject = ObjetStr
objMail.From = "tripet@galenicare.com"
objMail.Body = "TEST"
objMail.Send             
Set objMail = Nothing           

</SCRIPT>
<html>

<head>
<title></title>
</head>

</html>

Messages postés
224
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
14 juillet 2006

Supprime déjà tous les tags HTML.

As-tu un message d'erreur?
Messages postés
224
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
14 juillet 2006

Voici la partie chez moi qui envoie automatiquement l'email en utilisant JMail (JMail est installé sur le serveur):

Set JMail = WScript.CreateObject ("JMail.SMTPMail")
JMail.ServerAddress = "mail.mondomaine.com"
JMail.ContentType = "text/html"
JMail.MimeVersion = "1.0"
JMail.Sender = "server@mondomaine.com"
JMail.SenderName = "server"
JMail.Subject = "[SERVER] - mon sujet"
JMail.AddRecipient email
JMail.Body = data
JMail.Priority = 3
JMail.AddHeader "Originating-IP", "192.168.1.99"
JMail.Execute
Set JMail = Nothing
Messages postés
23
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
20 mai 2005

Ok, merci déjà beaucoup.
Je viens de supprimer les tags html et non, je n'ai pas de message d'erreur. J'ai mis des document.write pour tester et, bizarrement, ça ne m'affiche rien.... à n'y rien comprendre...

<SCRIPT Language="VBScript">

Document.write("ok")
Option Explicit

Dim objMail

Set objMail= WScript.CreateObject("CDONTS.Newmail")

objMail.mailFormat = 0
objMail.bodyFormat = 0

objMail.To = "tripet@galenicare.com"   
objMail.Cc = "tripet@galenicare.com"
objMail.BCc = "tripet@galenicare.com"       
objMail.Subject = "TEST"
objMail.From = "tripet@galenicare.com"
objMail.Body = "TEST"
objMail.Send             
Set objMail = Nothing  
Document.write("reok")         

</SCRIPT>
Messages postés
224
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
14 juillet 2006

Vire aussi

<SCRIPT Language="VBScript">

et

</script>

ainsi que document.write...

Utilise des messageBox plutôt

messageBox("OK") (Je crois)
Messages postés
23
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
20 mai 2005

Nickel, ça marche...
Juste encore une petite question, mais je veux pas trop abuser...
Avant ce code, t'as fait une connexion à ta base de données ? C'est quoi les tags à utiliser ??? Je cherche, mais je vois pas comment tu peux, 1, faire tes sélections dans ta bd et 2, envoyer ton mail....
Messages postés
224
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
14 juillet 2006

Ca change pas grand chose par rapport à ce que tu ferais normalement sur une page ASP:

Connexion à la base:
' Path long de la base de données
dbPath = "d:\Inetpub\wwwroot\...pathComplet...\database\database.mdb"
' Création de l'objet permettant la connexion
Set Conn = WScript.CreateObject("ADODB.Connection")
' Connexion
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & dbPath

Requete:
SQL = "SELECT userID, firstname, lastname, email FROM tblUser WHERE (tblUser.email<>'')"
Set RSUser = Wscript.createobject("ADODB.Recordset")
RSUser.Open SQL,Conn , 3, 3

Ensuite, au lieu de faire des response.write pour l'afficher sur ma page, je mets tout le contenu du mail dans une variable et j'envoie le contenu de la variable par email.
Messages postés
23
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
20 mai 2005

ouais, merci, mais mon problème est de savoir comment on met les tags (<script language="vbscript">)... car dès que j'en mets, le mail ne passe plus.
Messages postés
23
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
20 mai 2005

Super, ça marche...
Maintenant j'ai 2 dernières questions (j'espère !!!!!) :

1. Comment je peux réaliser un tel lien dans mon script sans utiliser de tag qui, avec tags, s'écrierait par exemple :
[http:\\www.google.ch test]


2. Comment, toujours sans utiliser de tags, faire un retour ligne
Messages postés
23
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
20 mai 2005

Mille mercis, ça fonctionne.