Envoie un email lors d'une date anniversaire
Fermé
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
-
27 janv. 2017 à 14:04
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 - 30 janv. 2017 à 13:04
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 - 30 janv. 2017 à 13:04
A voir également:
- Envoie un email lors d'une date anniversaire
- Comment creer un compte email - Guide
- Comment ouvrir un fichier dat - Guide
- Joyeux anniversaire en créole - Forum Loisirs / Divertissements
- Trouver une date de naissance gratuit ✓ - Forum Google Chrome
14 réponses
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
27 janv. 2017 à 14:08
27 janv. 2017 à 14:08
Bonjour,
Si tu veux qu'on t'aide ... commence par nous dire ce que tu avais fais à la place de : -- ICI J'AVAIS RAJOUTER L'ENVOIE DE EMAIL --
Si tu veux qu'on t'aide ... commence par nous dire ce que tu avais fais à la place de : -- ICI J'AVAIS RAJOUTER L'ENVOIE DE EMAIL --
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
27 janv. 2017 à 16:41
27 janv. 2017 à 16:41
Bonjour,
J'avais mis le script d'envoie de mail en fait.
Merci
J'avais mis le script d'envoie de mail en fait.
Merci
$sql1 = "SELECT * FROM cdc_configsite where clef='resp'"; $requete1 = $bdd->prepare($sql1); $requete1->execute(); $reponse1 = $requete1->fetch(); $sql2 = "SELECT * FROM cdc_configsite where clef='cdctel'"; $requete2 = $bdd->prepare($sql2); $requete2->execute(); $reponse2 = $requete2->fetch(); $sql3 = "SELECT * FROM cdc_configsite where clef='cdcmail'"; $requete3 = $bdd->prepare($sql3); $requete3->execute(); $reponse3 = $requete3->fetch(); $sql4 = "SELECT * FROM cdc_configsite where clef='cdcurl'"; $requete4 = $bdd->prepare($sql4); $requete4->execute(); $reponse4 = $requete4->fetch(); // Adresse email du destinataire $destinataire = $donnees->email; // Titre de l'email $sujet = 'Bon Anniversaire'; // Contenu du message de l'email $message = '<html>'; $message .= '<body><p>Bonjour '.$donnees->prenom.' <br/>'; $message .= 'je te souhaite un bon Anniversaire !<br/>'; $message .= 'Bonne journée.<br/>'; $message .= 'A bientôt !<br/>'; $message .= '<p>'.$reponse1->valeur.'</p>'; $message .= $reponse2->valeur.'<br/>'; $message .= $reponse3->valeur.'<br/>'; $message .= $reponse4->valeur.'<br/></body>'; $message .= '</html>'; // Pour envoyer un email HTML, l'en-tête Content-type doit être défini $headers = 'MIME-Version: 1.0'."\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1'."\r\n"; $headers .= 'From:"monsite"<monsite@60gp.ovh.net>'."\n"; // Fonction principale qui envoi l'email mail($destinataire, $sujet, $message, $headers);
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
27 janv. 2017 à 16:59
27 janv. 2017 à 16:59
oullaaaaa....
Pourrais tu nous fournir la structure de tes tables ??
Je pense que tu pourrais récupérer toutes les infos en une seule requête ... et régler ton pb en même temps.
Pourrais tu nous fournir la structure de tes tables ??
Je pense que tu pourrais récupérer toutes les infos en une seule requête ... et régler ton pb en même temps.
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
27 janv. 2017 à 18:10
27 janv. 2017 à 18:10
Pour ma table cdc_personnes
idpers nom, prenom dnaiss email
Pour la table cdc_adherer
idpers annee
en fait la table cdc_adherer ai utilite uniquement pour l'adhésion des adherents
idpers nom, prenom dnaiss email
Pour la table cdc_adherer
idpers annee
en fait la table cdc_adherer ai utilite uniquement pour l'adhésion des adherents
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
Modifié par LaChaux78 le 27/01/2017 à 22:05
Modifié par LaChaux78 le 27/01/2017 à 22:05
Bonjour,
En fait je renvoie le script en entier j'ai supprimé les choses inutiles du moins pour ce que je souhaite obtenir.
A savoir envoyer un mail lors d'un anniversaire d'un adhérent.
En fait je renvoie le script en entier j'ai supprimé les choses inutiles du moins pour ce que je souhaite obtenir.
A savoir envoyer un mail lors d'un anniversaire d'un adhérent.
$mois = date('m'); $jour = date('d'); $sql = "SELECT dnaiss, nom, prenom, email FROM cdc_personnes WHERE MONTH(dnaiss) = ? AND DAY(dnaiss) = ?"; $requete = $bdd->prepare($sql); $requete->execute(array($mois,$jour)); $anniv = ''; while ($donnees = $requete->fetch()) { if ($anniv == "") { $anniv = " - <span style='color:red'>Bon anniversaire à</span> : "; } else { $anniv .= " - "; } $anniv .= "$donnees->nom $donnees->prenom"; // Adresse email du destinataire $destinataire = $donnees->email; // Titre de l'email $sujet = 'Bon Anniversaire'; // Contenu du message de l'email $message = '<html>'; $message .= '<body><p>Bonjour '.$donnees->prenom.' <br/>'; $message .= 'je te souhaite un bon Anniversaire !<br/>'; $message .= 'Bonne journée.<br/>'; $message .= 'A bientôt !<br/>'; $message .= '</body>'; $message .= '</html>'; // Pour envoyer un email HTML, l'en-tête Content-type doit être défini $headers = 'MIME-Version: 1.0'."\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1'."\r\n"; $headers .= 'From:"monsite"<monsite@60gp.ovh.net>'."\n"; // Fonction principale qui envoi l'email mail($destinataire, $sujet, $message, $headers); }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
Ambassadeur
1 556
28 janv. 2017 à 00:15
28 janv. 2017 à 00:15
et tu dis que cela envoie un email à tous, avec dans le mail le prénom de la personne ayant son anniversaire?
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
28 janv. 2017 à 07:04
28 janv. 2017 à 07:04
Bonjour
Non en fait je me suis trompé cela envoie uniquement le mail à la personne concerné mais en boucle c'est à dire la personne concerné par son anniversaire le reçois plusieurs fois.
Merci
Non en fait je me suis trompé cela envoie uniquement le mail à la personne concerné mais en boucle c'est à dire la personne concerné par son anniversaire le reçois plusieurs fois.
Merci
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
Ambassadeur
1 556
28 janv. 2017 à 11:15
28 janv. 2017 à 11:15
Bonjour, moi j'ajouterais un champ dans la table cdc_personnes, pour enregistrer le moment où le dernier email d'anniversaire a été envoyé à chacun. Je rajouterais un test sur ce moment dans le SELECT, par exemple:
Et mettre à jour le champ moment_email_annif après envoi du mail.
SELECT dnaiss, nom, prenom, email FROM cdc_personnes WHERE MONTH(dnaiss) = ? AND DAY(dnaiss) = ?" AND moment_email_annif < NOW() - INTERVAL 1 WEEK
Et mettre à jour le champ moment_email_annif après envoi du mail.
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
28 janv. 2017 à 15:42
28 janv. 2017 à 15:42
Bonjour
Merci pour vos réponses.
J'ai essayé de créer une tache Cron sur mon hébergeur OVH mais je ne comprends pas en fait.
J'ai également rajouté un champ dans ma table cdc_personnes j'ai mis à jour le champ, toujours aucun résultat.
Je vais essayer de persévérer.
Merci pour vos réponses.
J'ai essayé de créer une tache Cron sur mon hébergeur OVH mais je ne comprends pas en fait.
J'ai également rajouté un champ dans ma table cdc_personnes j'ai mis à jour le champ, toujours aucun résultat.
Je vais essayer de persévérer.
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
1 556
28 janv. 2017 à 16:04
28 janv. 2017 à 16:04
peux-tu montrer ton code modifié?
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
1 556
28 janv. 2017 à 16:14
28 janv. 2017 à 16:14
que ne comprends-tu pas avec cron? cela te permet de faire exécuter un code php automatiquement, indépendamment des visites de ton site web.
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
Modifié par LaChaux78 le 28/01/2017 à 18:09
Modifié par LaChaux78 le 28/01/2017 à 18:09
Bonjour
En fait j'ai créé une tache cron.
Dans commande à exécuter j'ai le chemin "libs/anniv_cron.php"
il y a les heures, les jours, les jours de la semane, les mois
j'ai laissé par défault.
Ensuite il faut mon script PHP, j'ai fait ça mais surement que cette requète ne vas pas.
En fait j'ai créé une tache cron.
Dans commande à exécuter j'ai le chemin "libs/anniv_cron.php"
il y a les heures, les jours, les jours de la semane, les mois
j'ai laissé par défault.
Ensuite il faut mon script PHP, j'ai fait ça mais surement que cette requète ne vas pas.
$mois = date('m'); $jour = date('d'); $sql = "SELECT dnaiss, nom, prenom, email FROM cdc_personnes WHERE MONTH(dnaiss) = ? AND DAY(dnaiss) = ?"; $requete = $bdd->prepare($sql); $requete->execute(array($mois,$jour)); while ($donnees = $requete->fetch()) { // Adresse email du destinataire $destinataire = $donnees->email; // Titre de l'email $sujet = 'Bon Anniversaire'; // Contenu du message de l'email $message = '<html>'; $message .= '<body><p>Bonjour '.$donnees->prenom.' <br/>'; $message .= 'je te souhaite un bon Anniversaire !<br/>'; $message .= 'Bonne journée.<br/>'; $message .= 'A bientôt !<br/>'; $message .= '</body>'; $message .= '</html>'; // Pour envoyer un email HTML, l'en-tête Content-type doit être défini $headers = 'MIME-Version: 1.0'."\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1'."\r\n"; $headers .= 'From:"monsite"<monsite@60gp.ovh.net>'."\n"; // Fonction principale qui envoi l'email mail($destinataire, $sujet, $message, $headers); }
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
1 556
28 janv. 2017 à 19:25
28 janv. 2017 à 19:25
le plus probable, c'est que ton script ne se trouve pas au bon endroit.
en lisant ceci:
https://docs.ovh.com/fr/hosting/mutualise-taches-automatisees-cron/
tu trouveras les explications pour voir si ton script est bien exécuté.
tu peux ajouter des echo dans ton script, tu pourras ainsi vérifier dans les logs si il se comporte bien.
tu peux aussi forcer l'exécution de ton script, si il est à un endroit accessible du web (il me semble qu'il vaut mieux le mettre à un autre endroit)
en lisant ceci:
https://docs.ovh.com/fr/hosting/mutualise-taches-automatisees-cron/
tu trouveras les explications pour voir si ton script est bien exécuté.
tu peux ajouter des echo dans ton script, tu pourras ainsi vérifier dans les logs si il se comporte bien.
tu peux aussi forcer l'exécution de ton script, si il est à un endroit accessible du web (il me semble qu'il vaut mieux le mettre à un autre endroit)
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
29 janv. 2017 à 09:12
29 janv. 2017 à 09:12
Bonjour
Merci pour toutes tes explications.
En fait lorsque je regarde dans Logs j'ai cette ligne...
"Cliquez ici pour voir les logs bruts en temps réel"
il y a web - ftp - error - cgi - out - ssh - cron
mais cron ne peut pas être clicable.
la commande est "www/anniv_cron.php, lorsque j'ouvre ma page pour Diagnostiquer une erreur sur ma tâche automatisée ma page est vierge c'est à dire blanche.
Excuse moi j'ai lu tous ce qui concerne le lien que tu m'a envoyé mais je n'y arrive pas.
Merci
Merci pour toutes tes explications.
En fait lorsque je regarde dans Logs j'ai cette ligne...
"Cliquez ici pour voir les logs bruts en temps réel"
il y a web - ftp - error - cgi - out - ssh - cron
mais cron ne peut pas être clicable.
la commande est "www/anniv_cron.php, lorsque j'ouvre ma page pour Diagnostiquer une erreur sur ma tâche automatisée ma page est vierge c'est à dire blanche.
Excuse moi j'ai lu tous ce qui concerne le lien que tu m'a envoyé mais je n'y arrive pas.
Merci
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
1 556
29 janv. 2017 à 12:08
29 janv. 2017 à 12:08
bonjour,
1) attention, si tu peux ouvrir ta page, d'autres pourront aussi, il est recommandé de placer un script dans un dossier racine qui n’est pas couplé à un domaine ou sous-domaine (donc inaccessible par le web)
2) je lis que cela prend du temps (parfois 24h) avant que le script soit exécuté la première fois, il te suffit peut-être de patienter
1) attention, si tu peux ouvrir ta page, d'autres pourront aussi, il est recommandé de placer un script dans un dossier racine qui n’est pas couplé à un domaine ou sous-domaine (donc inaccessible par le web)
2) je lis que cela prend du temps (parfois 24h) avant que le script soit exécuté la première fois, il te suffit peut-être de patienter
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
29 janv. 2017 à 18:36
29 janv. 2017 à 18:36
Bonjour
J'ai ouvert les logs cron malheureusement celà ne me dit rien, c'est vraiment complexe pour un novice.
Pouvez-vous m'aider un peu s'ills vous plait.
Je n'ai aucun retour de mail, comment ce déclenche l'envoie de mail? es ce que mon script est bon? faut-il que je mette mon fichier anniv_cron.php dans un dossier si oui pour quelle raison.
Enfin bref je suis completement perdu.
Merci
J'ai ouvert les logs cron malheureusement celà ne me dit rien, c'est vraiment complexe pour un novice.
Pouvez-vous m'aider un peu s'ills vous plait.
Je n'ai aucun retour de mail, comment ce déclenche l'envoie de mail? es ce que mon script est bon? faut-il que je mette mon fichier anniv_cron.php dans un dossier si oui pour quelle raison.
Enfin bref je suis completement perdu.
Merci
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
1 556
Modifié par yg_be le 29/01/2017 à 19:07
Modifié par yg_be le 29/01/2017 à 19:07
Que contiennent les logs cron?
Je pense que tu avais testé ton script, et tu peux encore le tester en l’appelant par le web, donc tu sais si il est bon, non?
tu peux ajouter des echo dans ton script, tu pourras ainsi vérifier dans les logs si il se comporte bien.
Je pense que tu avais testé ton script, et tu peux encore le tester en l’appelant par le web, donc tu sais si il est bon, non?
tu peux ajouter des echo dans ton script, tu pourras ainsi vérifier dans les logs si il se comporte bien.
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
29 janv. 2017 à 19:42
29 janv. 2017 à 19:42
Alors en Français cela donne...
Votre travail n'a pu être initié pour une raison inconnue. Veuillez contacter le support client pour plus d'informations
[2017-01-29 18:03:03] ## OVH ## END - 2017-01-29 18:03:03.437940 exitcode: 255
[2017-01-29 19:03:03] ## OVH ## START - 2017-01-29 19:03:03.272654 executing: /usr/local/php5.4/bin/php /homez.650/cliquede/./www//anniv_cron.php
Excuse moi j'essaie d'avancer pas à pas
Votre travail n'a pu être initié pour une raison inconnue. Veuillez contacter le support client pour plus d'informations
[2017-01-29 18:03:03] ## OVH ## END - 2017-01-29 18:03:03.437940 exitcode: 255
[2017-01-29 19:03:03] ## OVH ## START - 2017-01-29 19:03:03.272654 executing: /usr/local/php5.4/bin/php /homez.650/cliquede/./www//anniv_cron.php
Excuse moi j'essaie d'avancer pas à pas
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
1 556
29 janv. 2017 à 19:48
29 janv. 2017 à 19:48
tu peux ajouter des echo dans ton script, tu pourras ainsi vérifier dans les logs si il se comporte bien.
il n'y a rien ensuite dans le log cron, cela devrait se terminer pas un ## OVH ## END
il n'y a rien ensuite dans le log cron, cela devrait se terminer pas un ## OVH ## END
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
1 556
Modifié par yg_be le 29/01/2017 à 19:56
Modifié par yg_be le 29/01/2017 à 19:56
cliquede/./www//anniv_cron.php me semble un peu suspect, es-tu certain d'avoir mis www/anniv_cron.php dans la définition?
l'exemple de ovh montre /usr/local/php5.6/bin/php /homez.600/loginftp/www/cron.php
l'exemple de ovh montre /usr/local/php5.6/bin/php /homez.600/loginftp/www/cron.php
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
1 556
29 janv. 2017 à 19:57
29 janv. 2017 à 19:57
c'est mieux de ne pas traduire les messages d'erreur, fais simplement un copier/coller.
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
30 janv. 2017 à 08:33
30 janv. 2017 à 08:33
Bonjour
Je viens de regarder dans logs et le résultat est:
[2017-01-30 07:03:03] ## OVH ## END - 2017-01-30 07:03:03.494009 exitcode: 255
[2017-01-30 07:03:03]
[2017-01-30 07:03:03] ## OVH ## Your job could not be initiated for an unknown reason. Please contact customer support for more information.
[2017-01-30 07:03:03] ## OVH ## END - 2017-01-30 07:03:03.494781 exitcode: 255
[2017-01-30 08:03:03] ## OVH ## START - 2017-01-30 08:03:03.343563 executing: /usr/local/php5.4/bin/php /homez.650/cliquede/./www/anniv_cron.php
Je viens de regarder dans logs et le résultat est:
[2017-01-30 07:03:03] ## OVH ## END - 2017-01-30 07:03:03.494009 exitcode: 255
[2017-01-30 07:03:03]
[2017-01-30 07:03:03] ## OVH ## Your job could not be initiated for an unknown reason. Please contact customer support for more information.
[2017-01-30 07:03:03] ## OVH ## END - 2017-01-30 07:03:03.494781 exitcode: 255
[2017-01-30 08:03:03] ## OVH ## START - 2017-01-30 08:03:03.343563 executing: /usr/local/php5.4/bin/php /homez.650/cliquede/./www/anniv_cron.php
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
1 556
30 janv. 2017 à 09:10
30 janv. 2017 à 09:10
es-tu certain d'avoir mis www/anniv_cron.php dans la définition?
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
30 janv. 2017 à 13:04
30 janv. 2017 à 13:04
Bonjour
En ce qui concerne le . devant /www/anniv_cron.php il est par défault je ne peux pas le supprimer.
J'ai bien mis www/anniv_cron.php dans la définition.
En ce qui concerne le . devant /www/anniv_cron.php il est par défault je ne peux pas le supprimer.
J'ai bien mis www/anniv_cron.php dans la définition.