Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: darius1000 le le 27-03-2012 a 16:09:36

Titre: Envoi d'une enquête de satisfaction en php
Posté par: darius1000 le le 27-03-2012 a 16:09:36

Bonjour,
Je dois adresser aux clients de ma société une enquête de satisfaction pour connaître leur avis sur le produit qu'ils ont commandé et reçu. Ce message électronique doit donc afficher le nom du produit correspondant à l'adresse électronique utilisée.
Je dispose d'un fichier Excel (généré par le CMS de ma société) dans lequel j'ai deux colonnes : l'une pour l'adresse électronique et l'autre pour le nom de produit ou des produits (car il peut y en avoir plusieurs et je pense que ce point est important).
J'ai importé ce fichier dans Phpmyadmin : il n'y a pas eu de problème, tous les éléments ont été ajoutées et répartis dans les bons champs.
Maintenant, le problème réside dans la manière dont je peux prélever de manière cohérente ces informations et les adresser par mail à plus de 2800 clients.
J'ai essayé d'élaborer un fichier php mais cela ne fonctionne pas en local comme sur un serveur distant. Je suis un tel novice en php que je n'ose même pas vous présenter mon code.
Je ne sais pas même pas comment on envoie un mailing en php ? Faut-il joindre le fichier à un mail traditionnel ? Ou simplement l'héberger et l'ouvrir dans son navigateur ? Ou bien, ajouter à ce code php un bouton "valider" sur lequel il faut cliquer pour activer l'envoi de l'enquête.
Auriez-vous une solution à mon problème ? Est-ce qu'il est possible de faire une telle opération en php ? Ou faut-il passer par une plateforme en ligne ou un logiciel ?
Je vous remercie de votre aide
darius1000

Titre: Re:Envoi d'une enquête de satisfaction en php
Posté par: WebD le le 27-03-2012 a 19:46:27

Je te conseil grandement d'utiliser phpmailer.
Ceci te permettra d'envoyer des mails avec le bon header pour qu'il ne soit pas classer en spam.

Si tu veux, je peux m'occuper de développement de ce script.

Bon courage.

Olivier.

Titre: Re:Envoi d'une enquête de satisfaction en php
Posté par: darius1000 le le 28-03-2012 a 10:36:26

Bonjour,

Merci de ton aide. J'ai regardé rapidement le tutoriel avant de le mettre en application. Il me semble clair.

Seulement, ce tutoriel (et les autres) ne disent pas comment on utilise ensuite le fichier php en local. Faut-il joindre le fichier à un mail traditionnel ? Ou bien, ajouter à ce code php un bouton "valider" sur lequel il faut cliquer pour activer l'envoi de l'enquête ?

Merci de votre réponse

Titre: Re:Envoi d'une enquête de satisfaction en php
Posté par: WebD le le 28-03-2012 a 10:43:41

Non, il te suffit simplement de lancer ton fichier php.
Je te conseil de faire pas a pas, envoi toi un mail simple à ton adresse, ensuite tu mets une adresse en copie...etc

Titre: Re:Envoi d'une enquête de satisfaction en php
Posté par: darius1000 le le 28-03-2012 a 11:51:30

OK, merci. Bon, j'ai refait mon fichier php en indiquant mon adresse à la place de 'adresse@destinataire' mais rien n'y fait, je ne reçois rien. Ci-dessous le code que j'ai fait, avec la requête pour aller chercher le nom du produit dans la base de données. J'ai effacé le contenu textuel pour plus de lisibilité.


Code:

<?
   require "phpmailer/class.phpmailer.php";
   $mail = new PHPmailer();
   $mail->IsSMTP();
   $mail->IsHTML(true);
   $mail->Host='mail.gandi.net';
   $mail->From='web@tampon-gravure;fr';
   $mail->AddAddress('web@tampon-gravure.fr');
   $mail->AddReplyTo('web@tampon-gravure;fr');   
   $mail->Subject='Suivi de votre commande';
   $mail->Body='<html><body><head><style>html {font: normal small/1.2em "arial", sans-serif;}';
   $mail->Body.='body {background:#f8f4f1;}';
   $mail->Body.='a {float:left;}';
   $mail->Body.='img {float:left;}';
   $mail->Body.='h1 {font-size:1.2em;color:#525050;float:left;}';
   $mail->Body.='p {font-size:1.4em;font-color:#525050;text-align:justify;font-style:bold;}';
   $mail->Body.='table {border-collapse:collapse;border:2px solid white;margin:auto;}</style></head>';
   $mail->Body.='<center><table><tr><td></td></tr>';
   
               mysql_connect("localhost", "root", "");
               mysql_select_db("enquete");

               $reponses = mysql_query("SELECT produit FROM enquete");

               while ($donnees = mysql_fetch_array($reponses) )
               {

               $requete1 = $donnees['requete1'];

               echo $produit;
               
               }


   
   $mail->Body.='<tr><td><p>Nous vous remercions par avance et vous souhaitons une excellente journée.</p>
             </td></tr></table></center></body></html>';

   if(!$mail->Send()){ //Teste si le return code est ok.
    echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
   }
   else{   
    echo 'Mail envoyé avec succès';
   }
   $mail->SmtpClose();
   unset($mail);

?>



Sur ma page, j'ai le code

Code:
IsSMTP(); $mail->IsHTML(true);...
qui s'affiche en entête.

Et tout à la fin du mail, j'ai la ligne :


Code:

'; if(!$mail->Send()){ //Teste si le return code est ok. echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7) } else{ echo 'Mail envoyé avec succès'; } $mail->SmtpClose(); unset($mail); ?>


Je te remercie

Titre: Re:Envoi d'une enquête de satisfaction en php
Posté par: WebD le le 28-03-2012 a 12:56:25

Fais d'abord le test sans SMTP.
Le mail sera envoyé par la fonction mail

Titre: Re:Envoi d'une enquête de satisfaction en php
Posté par: darius1000 le le 28-03-2012 a 14:42:40

Merci de ton aide. Heureusement que tu es là...

J'ai enlevé la ligne "$mail->IsSMTP();" Il ne se passe rien de nouveau.
J'ai essayé d'enlever seulement "SMTP" de cette ligne, toujours rien ?

Comment dois-je enlever le SMTP ?
(Je t'avais dit que j'étais totalement nul en PHP)

Dans une seconde étape, comment pourrais-je récupérer les adresses mails et les noms des produits correspondants pour les afficher dans les mails ?

Merci infiniment...

Titre: Re:Envoi d'une enquête de satisfaction en php
Posté par: WebD le le 28-03-2012 a 22:56:33

Il faut remplacer
$mail->IsSMTP()
par
$mail->IsMail();

Titre: Re:Envoi d'une enquête de satisfaction en php
Posté par: WebD le le 30-03-2012 a 08:44:52

Alors? As-tu réussi?


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.