PHP + envoi de mail automatique

djimson Messages postés 211 Date d'inscription   Statut Membre Dernière intervention   -  
djimson Messages postés 211 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai fais un script php qui permet aux utilisateurs de déposer leur CV dans ma cvthèque.
J'ai aussi un autre qui permet d'ajouter les offres d'emploi quotidiennement sur mon site.
Maintenant, je voudrai savoir comment faire de sorte que s'il y a une offre concernant un poste (exple: informatique Bac +3), que tous ceux qui se sont inscrit sur la cvthèque et ayant le profil de l'offre (informatique Bac +3) reçoivent automatiquement un mail dans leur boîte avec comme sujet "Offre vous concernant"?
J'ai une table emploi et une table cvtheque. C'est la jointure entre less deux table et surtout le script qui permettra d'envoyer des mails automatiquement.

Merci à tous
A voir également:

9 réponses

jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
bonjour...

tu trouvera sur mon site la fonction pour l envoie des mails..

jjsteing.u7n.org

va dans webmastering => Formulaire_envoie_mail.php

@++
0
djimson Messages postés 211 Date d'inscription   Statut Membre Dernière intervention   3
 
Salut jjsteing, j'ai regarder ton programme d'envoi de mail mais il répond pas à ce que je veux faire. Ma requête sql de jointure marche, j'arrive à récupérer les adresses mais mais maintenant, j voudrait qu'un mail soit envoyé à tous ceux qui répondent au profil concernant l'offre.
Je sais pas si je me fais comprendre.
Encore merci
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Très simple. Tu modifie le script pour ajouter l'offre de manière à ce qu'un mail soit envoyé à ceux qui sont concerné.
0
djimson Messages postés 211 Date d'inscription   Statut Membre Dernière intervention   3
 
Merci bien pour vos réponses. Voici un peu le script pour les offres
Je sais pas trop comment faire la jointure entre mes deux tables c-a-d emploi et cvtheque

<?php
include("admin/connexion.php");
$sql = "SELECT * FROM emploi order by id DESC";
$requete = mysql_query ($sql, $connect) or die ("Requete echouée!");
$messagesParPage=30; //Nous allons afficher XX offres par page.

$retour_total=mysql_query('SELECT COUNT(*) AS total FROM emploi order by id DESC'); //Nous récupérons le contenu de la requête dans $retour_total
$donnees_total=mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau.
$total=$donnees_total['total']; //On récupère le total pour le placer dans la variable $total.

//Nous allons maintenant compter le nombre de pages.
$nombreDePages=ceil($total/$messagesParPage);

if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
{
$pageActuelle=intval($_GET['page']);

if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
{
$pageActuelle=$nombreDePages;
}
}
else // Sinon
{
$pageActuelle=1; // La page actuelle est la n°1
}

$premiereEntree=($pageActuelle-1)*$messagesParPage; // On calcul la première entrée à lire

// La requête sql pour récupérer les messages de la page actuelle.
$retour_messages=mysql_query('SELECT * FROM emploi GROUP BY poste, date_annonce ORDER BY id DESC LIMIT '.$premiereEntree.', '.$messagesParPage.'');

while($resultat=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
{
echo"<table border=1 bordercolor=#FFCCFF background=../images/fond_offres.gif>";
echo" <tr>";
echo"<td width=15%><strong>".$resultat['date_annonce']."</strong></td>";
echo"<td width=35%>".$resultat['recruteur']."</td>";
echo" <td width=30%> <a href=\"emplois.php?id=$resultat[id]\" onclick=\"window.open('emplois.php?id=$resultat[id]','wclose','width=750,height=700,toolbar=no,status=no,left=20,top=30,resizable=no'); return false;\">" .$resultat['poste'].'</a>';
echo" <td width=20%>".$resultat['lieu']."</td>";
echo"</tr>";
echo"</table>";
}


echo '<p>Page : '; //Pour l'affichage, on justifie la liste des pages
for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
{
//On va faire notre condition
if($i==$pageActuelle) //Si il s'agit de la page actuelle...
{
echo ' '.$i.' ';
}
else //Sinon...
{
echo ' <a href="emploi.php?page='.$i.'">'.$i.'</a> ';
}
}
echo '</p>'; ?>

Merci encore
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Deux petites remarques.
Par souci de lisibilité, il est conseillé d'utiliser la balise <code> pour insérer du code sur ce forum (ou le bouton "Conserver la mise en forme", ce qui reviens au même).
Autre remarque, plutôt que de simple mettre ton code, le mieux serai de l'expliquer très simplement pour orienter notre recherche sur la solution répondant à ta demande. En l'état actuel, je suis désolé de le dire mais ça donne pas trop envie de voir plus loin que ce simple message.
Par exemple: expliques nous l'emploi de ces tables dans ce code et tu peux également mettre en gras les passages concerné pour nous orienter.
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
re :)

Arrive tu as avoir une liste avec :

- Les adresses mail
- Les Noms
- Les prénoms

des personnes à qui tu dois envoyer le dit mail ?
0
djimson Messages postés 211 Date d'inscription   Statut Membre Dernière intervention   3
 
Oui j'arrive à voir une liste
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
bon.. c'est déjà ca ;)

alors.. tu dois avoir quelque chose du style :

$result=SQL("Select......");

$i=0
while ($Users= mysql_fetch_array($result);){
$Destinataires = $Destinataire.";".$Users["Email"];
}

$mail_destinataire = ''.$Destinataires;

$entetemail ='From: "Ton Site"<Webmaster@tonsite.net>'."\n";
// $entetemail .='Reply-To: Webmaster2@tonsite.net'."\n";
// $entetemail.= 'Bcc:Webmaster3@tonsite.net'."\n";
$entetemail .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$entetemail .='Content-Transfer-Encoding: 8bit';

$msg = 'Bonjour Une annonce peu vous interreser';

$msg .= "<br><br><br>";

if(mail($mail_destinataire, 'annonces interressantes', $msg, $entetemail)){
$Html= "Un email de confirmation a été envoyé<br>";
}else{
$Html= "Erreur lors de l'envoie de l'email de confirmation. Veuillez recommencer<br>";
}
echo $Html;
0
djimson Messages postés 211 Date d'inscription   Statut Membre Dernière intervention   3
 
Merci bien jjsteing.
Je vais mettre ça en pratique de suite et te dire ce que ça donne comme résultat.
Merci
0
djimson Messages postés 211 Date d'inscription   Statut Membre Dernière intervention   3 > djimson Messages postés 211 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir,
j'ai pu corrigé les messages d'erreurs mais toujours un soucis.
Pas de mail envoyé or à l'entête, le message me dit que "Un email de confirmation a été envoyé"
Comment je fais?
Merci
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
re :)

est tu sur que ton serveur supporte l envoie de mail??

qui est ton hebergeur?
0
djimson Messages postés 211 Date d'inscription   Statut Membre Dernière intervention   3
 
Je penses bien que le serveur supporte car j'arrive à envoyer des newsletters
mon hebergeur c'est godaddy.com
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
ok pour tester ca.. prend mon formulaire sur jjsteing.u7n.org .. modifie le pour qu il l envoie a ton adresse et met le en ligne... et fait un test. Dis moi ca ca marche..
0
djimson Messages postés 211 Date d'inscription   Statut Membre Dernière intervention   3
 
Ok, je fais le test
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
ok,

sinon...

plusieurs tests a faire :

en me basant sur mon code :

$result=SQL("Select......");

$i=0
while ($Users= mysql_fetch_array($result);){
$Destinataires = $Destinataire.";".$Users["Email"];
}

$mail_destinataire = ''.$Destinataires;

echo "<script>alert('".$mail_destinataire."');</script>
$entetemail ='From: "Ton Site"<Webmaster@tonsite.net>'."\n";
$entetemail .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$entetemail .='Content-Transfer-Encoding: 8bit';

$msg = 'Bonjour Une annonce peu vous interreser';

$msg .= "<br><br><br>";

echo "<script>alert('".$msg."');</script>

if(mail($mail_destinataire, 'annonces interressantes', $msg, $entetemail)){
$Html= "Un email de confirmation a été envoyé<br>";
}else{
$Html= "Erreur lors de l'envoie de l'email de confirmation. Veuillez recommencer<br>";
}

$Html.="<br>Entete:$entetemail<br>Dest:$Destinataire<br>Entete:$entetemail<br>Msg:$msg";
echo $Html;



ceci afin de vérifier l intégralite du message tiens moi au jus ;)
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
Re :)

pis j ai un doute.. c'est ; ou , pour separer les différents destinataires... je sais pas... sinon, essaye déjà avec une seule adresse (la tienne) ;)
0
djimson Messages postés 211 Date d'inscription   Statut Membre Dernière intervention   3
 
Ok, excuse moi pour le silence, suis en plein cour donc je fais le test juste après.
Merci
0