Envoie de mail automatique

Fermé
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - 2 janv. 2016 à 08:51
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - 5 janv. 2016 à 07:22
Bonjour,
Je souhaiterai envoyer un Email automatique pour l’anniversaire de chaque membre. Dans ma BDD j'ai la date d'anniversaire de chaque membre au format DATE. Pouvez-vous s'ils vous plait m'expliquer par quoi je dois commencer.
J'ai dû mal à comprendre malgré ce que j'ai pu lire sur le net. J'ai vu qu'il y a aussi des taches cron que je peux créé sur mon hébergeur, mais je préférerai lancer tout ça directement sur mon site.
Merci
A voir également:

4 réponses

jordane45 Messages postés 38169 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 mai 2024 4 660
2 janv. 2016 à 14:48
Bonjour,


mais je préférerai lancer tout ça directement sur mon site.

Donc ça ne sera pas "automatique" .... mais semi-manuel....


Je souhaiterai envoyer un Email


Il existes la fonction mail() en PHP ... si ton serveur est configuré avec un smtp...
Sinon tu peux aussi utiliser la class php PhpMailer qui te permettra d'utiliser ton email ( gmail ou autre) pour effectuer les envoies.
Le net regorge d'exemples d'utilisations.....


Si tu bloques sur quelque chose... n'hésites pas à nous montrer ce que tu as essayé de faire (le code à l'appui) de façon à ce que nous puissions essayer de t'aider.


0
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 3
2 janv. 2016 à 18:40
Bonjour
J'ai fait une page php à la racine de mon site ce script.
Pouvez-vous me dire votre avis merci c'est sympat
<?php
	$sql = "SELECT prenom, naissance, email, Year(CURDATE()) = DATE(naissance) 
			FROM tb_adherent
			WHERE (Year(CURDATE()) = DATE(naissance))
			AND fin = 0";
	$requete = $bdd->prepare($sql);							
	$resultat->execute(array(
						'prenom' 		=> $prenom,
						'naissance' 	=> $naissance,
						'email' 		=> $email,
						));

		while($donnees = $resultat->fetch()) {

			$sql = "SELECT *
					FROM tb_gestion_site
					INNER JOIN tb_adherent
					ON tb_adherent.id_adherent = tb_gestion_site.rid_adherent
					WHERE tb_gestion_site.gestion_membre = 1";
			$requete = $bdd->prepare($sql);
			$requete->execute();
			$result = $requete->fetch();

			$mail = mail($email,

				"Joyeux Anniversaire",
				"Bonjour ".$prenom.",<br/>
				Bon Anniversaire<br/><br/>

				A bientôt !<br/>"

				. $result['prenom'] . "<br/>"
				. $result['fixe'] . "<br/>"
				. $result['mobile'] . "<br/>"
				. $result['email'] . "<br/>

				www.clique.fr",
				
				'Content-type: text/html; charset=utf-8'."\r\n",
				"From: clique.fr <clique@orange.fr>");
		}
?>
0
jordane45 Messages postés 38169 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 mai 2024 4 660
3 janv. 2016 à 13:58
Bonjour,

1 - Je ne comprends pas l’intérêt de tes deux requêtes....

2 - N'écris pas de code directement dans la fonction mail.... mais utilises des variables.

3 - Je ne suis pas sûr que tu aies bien respecté l'ordre des paramètres de la fonction mail. (https://www.php.net/manual/fr/function.mail.php

Inspires toi de ce tuto :
https://php.developpez.com/faq/?page=mail#envoi-mail


0
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 3
5 janv. 2016 à 07:22
Bonjour
J'essaie de faire dans un premier temps une requête qui déclenchera le mail. Cette requête qui correspond à la date de naissance des membres par rapport à la date courante.
Pouvez-vous me dire si cette requête est conforme à ce que je souhaiterai.
Je vous remercie
	$sql = "SELECT prenom, naissance, email, Year(CURDATE()) = DATE(naissance) 
			FROM tb_adherent
			WHERE (Year(CURDATE()) = DATE(naissance))
			AND fin = 0";
	$requete = $bdd->prepare($sql);							
	$resultat->execute(array(
						'prenom' 		=> $prenom,
						'naissance' 	=> $naissance,
						'email' 		=> $email,
						));
0