Envoi de mail

Envoi de mail - PHP - Programmation

Marsh Posté le 07-06-2011 à 15:02:11    

Bonjour à tous,
 
je réalise actuellement une application qui permet, entre autre, de lister des informations sur un client (après l'avoir choisi par le biais d'une liste déroulant), toutes les infos s'affichent très bien avec mon script PHP. Cependant, je souhaiterais envoyer toutes ces infos par mail, j'ai trouvé des information là dessus mais ça se résume à :  
 
$destinataire="tartanpion@gmail.com";
$sujet="Sujet";
$message=test de message;
 
mail($destinataire, $sujet, $message);
 
Cette méthode n'est pas très adapté pour moi car je souhaiterais mettre dans mon message le contenu de mon script PHP, avec si possible la même mise en forme (je sais pas si on peut parler de newsletter). Ci-dessous mon script PHP (c'est peut être pas très bien codé mais bon) :
 

Code :
  1. <?php
  2. //***********INITIALISATION DES VARIABLES**********//
  3. $host = "localhost";
  4. $user = "root";
  5. $password = "";
  6. $bdd = "application";
  7. mysql_connect($host, $user, $password) or die ("impossible de se connecter au serveur" );
  8. mysql_select_db($bdd) or die ("impossible de se connecter a la base de donnees" );
  9. $compteurc = 1;
  10. $compteuril = 1;
  11. $compteurvl = 1;
  12. $compteurim = 1;
  13. $compteurvm = 1;
  14. $mef = "A";
  15. //******** FIN INITIALISATION***************//
  16. echo '<p align="center"><span style="font-variant: small-caps;"><font size=6>Informations Client</span></font></p><br>';
  17. echo '<form method="post" action="traitementclient.php">';
  18. echo '<p align="center"><select onchange=submit() name="libelle" id="libelle">';
  19. $resu=mysql_query("SELECT libelle FROM ouapi_sites" );
  20. echo '<option value="">---Choisir un client---</option>';
  21. while ($liste = mysql_fetch_array($resu))
  22. {
  23.       echo '<option value="', $liste['libelle'], '">', $liste['libelle'], '</option>';
  24.     }
  25. echo '</select></p>';
  26. $libelle = ($_POST['libelle']);
  27. //*****test qu'on a bien choisit un client par le biais de la liste déroulante*****//
  28. if ($libelle != NULL)
  29. {
  30. //*******************************************************//
  31. //JE VEUX ENVOYER PAR MAIL TOUT CE QUI SE TROUVE APRES CA
  32. //*******************************************************//
  33. // ******************PARTIE CONTRATS*****************//
  34. $requete = "SELECT ouapi_contrat.date_debut, ouapi_contrat.duree_mois, ouapi_contrat.reference, ouapi_co_type.libelle, ouapi_sites.libelle, ouapi_entreprise.raison_sociale, ouapi_contrat.agence_id, ouapi_contrat.id FROM ouapi_contrat, ouapi_co_type, ouapi_sites, ouapi_entreprise WHERE ouapi_contrat.agence_id = ouapi_sites.id AND ouapi_contrat.type_id = ouapi_co_type.id AND ouapi_entreprise.id = ouapi_contrat.entreprise_id AND ouapi_sites.libelle ='$libelle' ORDER BY ouapi_contrat.date_debut";
  35. $reponse = mysql_query ($requete);
  36. echo "<br>";
  37. while ($row = mysql_fetch_array($reponse))
  38. {
  39. $datedeb = $row[0];
  40. $duree = $row[1];
  41. $ref = $row[2];
  42. $type = $row[3];
  43. $site = $row[4];
  44. $entr = $row[5];
  45. $siteid = $row[6];
  46. $contid = $row[7];
  47. if ($compteurc == 1)
  48. {
  49. echo "<p align=\"center\"><A HREF=\"http://192.168.66.110/ouapi1.0/index.php?page=accueil.php&agence_id=$siteid&rubrique=contr\" TITLE='Voir les contrats de cette entreprise'><FONT SIZE=5>Contrats de ".$libelle."</FONT></A><BR><BR></p>";
  50. }
  51. // Conversion de la date de début en unix timestamp
  52. list($y,$m,$d) = explode('-', $datedeb);
  53. $utdb = mktime(12,0,0,$m,$d,$y);
  54. // Calcul de la fin du contrat:
  55. $utdf = strtotime("+".$duree." months", $utdb);
  56. // On prend la date du jour à 12h, pour être dans le même contexte horaire que le contrat:
  57. $now = mktime(12, 0, 0, date('m'), date('d'), date('Y'));
  58. //Date de fin avec le bon format
  59. $datefin = date('d-m-Y', $utdf);
  60. echo "<p align='center'>";
  61. echo "<A HREF=\"http://192.168.66.110/ouapi1.0/index.php?page=visu_fiche.php&type=contr&id=$contid&action=visu\" TITLE='Voir la fiche du contrat'>".$ref."</A><BR>";
  62. echo $entr." > ";
  63. echo $type."</A><BR>";
  64. echo "Date de fin : ".$datefin."<BR>";
  65. echo "</p>";
  66. $compteurc ++;
  67. }
  68. //****************FIN PARTIE CONTRAT***************//
  69. echo "<br><br><br>";
  70. //****************PARTIE LOGICIEL******************//
  71. //***************infos logiciels**********************//
  72. $requete2 = "SELECT DISTINCT infolog.logiciel, infolog.link, infolog.description, infolog.version FROM ouapi_sites, ouapi_software, infolog WHERE ouapi_sites.id=ouapi_software.agence_id AND ouapi_software.nom=infolog.logiciel AND ouapi_sites.libelle='$libelle' ORDER BY ouapi_software.nom";
  73. $resultat2 = mysql_query ($requete2);
  74. echo '<p align="center"><span style="font-variant: small-caps;"><font size=5>Informations Logiciels</span></font></p>';
  75. while ($row2 = mysql_fetch_array($resultat2))
  76. {
  77. $ilogl = $row2[0];
  78. $ilinkl = $row2[1];
  79. $idescl = $row2[2];
  80. $iversl = $row2[3];
  81. if ($mef != $ilogl)
  82.  {
  83.  echo "<dl><p align=center><B>"."<A HREF='$ilinkl'><Font size=4>".$ilogl." ".$iversl."</A></FONT></B></p></dl>";
  84.  echo "<div style='width:50%;margin:auto;'><p style='text-align:justify;'>";
  85.  echo "<dt>".$idescl."</dt></p></div><BR>";
  86.  $mef = $ilogl;
  87.  }
  88. else
  89.  {
  90.  echo "<div style='width:50%;margin:auto;'><p style='text-align:justify;'>";
  91.  echo "<dt>".$idescl."</dt></p></div><BR>";
  92.  }
  93. $compteuril ++;
  94. }
  95. if ($compteuril == 1)
  96. {
  97. echo "<p align='center'><font size=3><I>Aucune information concernant les logiciels chez ".$libelle." !</I></FONT></P>";
  98. }
  99. //***************fin info logiciel******************//
  100. echo "<br><br>";
  101. //************vulnérabilités logiciel********************//
  102. $requete3 = "SELECT title, link, description FROM document";
  103. $resultat3 = mysql_query ($requete3) or die (mysql_error());
  104. echo '<p align="center"><span style="font-variant: small-caps;"><font size=5>Vuln&eacute;rabilit&eacute;s Logiciels</span></font></p>';
  105. while ($row3 = mysql_fetch_array ($resultat3))
  106. {
  107. $vtitlel = $row3[0];
  108. $vlinkl = $row3[1];
  109. $vdescl = $row3[2];
  110. $requete32 = "SELECT DISTINCT ouapi_software.nom, ouapi_software.dern_version_num FROM ouapi_software, ouapi_sites WHERE ouapi_sites.id=ouapi_software.agence_id AND ouapi_sites.libelle='$libelle' ORDER BY ouapi_software.nom";
  111. $resultat32 = mysql_query ($requete32) or die (mysql_error());
  112. while ($row32 = mysql_fetch_array ($resultat32))
  113.  {
  114.  $noml = $row32[0];
  115.  $versl = $row32[1];
  116.  $regl = "#".$noml."#i";
  117.  if (preg_match($regl, $vtitlel))
  118.   {
  119.   if ($mef != $noml)
  120.    {
  121.    echo "<dl><p align=center><B>"."<A HREF='$vlinkl'><Font size=4>".$noml." ".$versl."</A></FONT></B></p></dl>";
  122.    echo "<div style='width:50%;margin:auto;'><p style='text-align:justify;'>";
  123.    echo "<dt>".$vdescl."</dt></p></div><BR>";
  124.    $mef = $noml;
  125.    }
  126.   else
  127.    {
  128.    echo "<div style='width:50%;margin:auto;'><p style='text-align:justify;'>";
  129.    echo "<dt>".$vdescl."</dt></p></div><BR>";
  130.    }
  131.   $compteurvl = $compteurvl + 1;
  132.   }
  133.  }
  134. }
  135. if ($compteurvl == 1)
  136. {
  137. echo "<p align='center'><font size=3><I>Aucune vuln&eacute;rabilit&eacute; concernant le logiciel chez ".$libelle." !</I></FONT></P>";
  138. }
  139. //*************fin vulnérabilité logiciel*********//
  140. echo "<br><br>";
  141. //************PARTIE MATERIEL*****************//
  142. //*************info matériel******************//
  143. $requete4 = "SELECT DISTINCT infolog.logiciel, infolog.link, infolog.description, infolog.version FROM infolog, ouapi_ha_modele, ouapi_sites, ouapi_hardware WHERE ouapi_sites.id = ouapi_hardware.agence_id AND ouapi_hardware.modele_id = ouapi_ha_modele.id AND ouapi_sites.libelle = '$libelle' AND infolog.logiciel = ouapi_ha_modele.libelle ORDER BY infolog.logiciel";
  144. $resultat4 = mysql_query ($requete4);
  145. echo '<p align="center"><span style="font-variant: small-caps;"><font size=5>Informations Mat&eacute;riels</span></font></p>';
  146. while ($row4 = mysql_fetch_array($resultat4))
  147. {
  148. $ilogm = $row4[0];
  149. $ilinkm = $row4[1];
  150. $idescm = $row4[2];
  151. $iversm = $row4[3];
  152. if ($mef != $ilogm)
  153.  {
  154.  echo "<dl><p align=center><B>"."<A HREF='$ilinkm'><Font size=4>".$ilogm." ".$iversm."</A></FONT></B></p></dl>";
  155.  echo "<div style='width:50%;margin:auto;'><p style='text-align:justify;'>";
  156.  echo "<dt>".$idescm."</dt></p></div><BR>";
  157.  $mef = $ilogm;
  158.  }
  159. else
  160.  {
  161.  echo "<div style='width:50%;margin:auto;'><p style='text-align:justify;'>";
  162.  echo "<dt>".$idescm."</dt></p></div><BR>";
  163.  }
  164. $compteurim ++;
  165. }
  166. if ($compteurim == 1)
  167. {
  168. echo "<p align='center'><font size=3><I>Aucune information concernant le mat&eacute;riel chez ".$libelle." !</I></FONT></P>";
  169. }
  170. //***************fin info matériel******************//
  171. echo "<br><br>";
  172. //**********vulnérabilités matériel********************//
  173. $requete5 = "SELECT title, link, description FROM document";
  174. $resultat5 = mysql_query ($requete5) or die (mysql_error());
  175. echo '<p align="center"><span style="font-variant: small-caps;"><font size=5>Vuln&eacute;rabilit&eacute;s Mat&eacute;riels</span></font></p>';
  176. while ($row5 = mysql_fetch_array ($resultat5))
  177. {
  178. $vtitlem = $row5[0];
  179. $vlinkm = $row5[1];
  180. $vdescm = $row5[2];
  181. $requete52 = "SELECT DISTINCT ouapi_ha_modele.libelle FROM ouapi_ha_modele, ouapi_sites, ouapi_hardware WHERE ouapi_sites.id = ouapi_hardware.agence_id AND ouapi_hardware.modele_id = ouapi_ha_modele.id AND ouapi_sites.libelle = '$libelle'";
  182. $resultat52 = mysql_query ($requete52) or die (mysql_error());
  183. while ($row52 = mysql_fetch_array ($resultat52))
  184.  {
  185.  $nomm = $row52[0];
  186.  $versm = $row52[1];
  187.  $regm = "#".$nomm."#i";
  188.  if (preg_match($regm, $vtitlem))
  189.   {
  190.   if ($mef != $nomm)
  191.    {
  192.    echo "<dl><p align=center><B>"."<A HREF='$vlinkm'><Font size=4>".$nomm." ".$versm."</A></FONT></B></p></dl>";
  193.    echo "<div style='width:50%;margin:auto;'><p style='text-align:justify;'>";
  194.    echo "<dt>".$vdescm."</dt></p></div><BR>";
  195.    $mef = $nomm;
  196.    }
  197.   else
  198.    {
  199.    echo "<div style='width:50%;margin:auto;'><p style='text-align:justify;'>";
  200.    echo "<dt>".$vdescm."</dt></p></div><BR>";
  201.    }
  202.   $compteurvm = $compteurvm + 1;
  203.   }
  204.  }
  205. }
  206. if ($compteurvm == 1)
  207. {
  208. echo "<p align='center'><font size=3><I>Aucune vuln&eacute;rabilit&eacute; concernant le mat&eacute;riel chez ".$libelle." !</I></FONT></P>";
  209. }
  210. }
  211. ?>


 
Merci d'avance pour votre aide


Message édité par boss183 le 07-06-2011 à 15:04:00
Reply

Marsh Posté le 07-06-2011 à 15:02:11   

Reply

Marsh Posté le 07-06-2011 à 15:17:29    

Pour envoyer par mail, il faut préparer le message :
Tu crées une variable message :
$message = '';
 
Tu remplaces tous les echo ... par $message .= ...
pour ajouter du texte au message
Puis tu fais le :
mail($destinataire, $sujet, $message);

Reply

Marsh Posté le 07-06-2011 à 15:24:06    

ok merci je vais tester et je te redis

Reply

Marsh Posté le 07-06-2011 à 15:58:52    

Par contre mon application tourne sur xampp et je galère un peu pour configurer (dans le fichier php.ini ??) l'envoi de mail donc si tu as des infos là dessus je suis preneur.
 
merci d'avance

Reply

Marsh Posté le 08-06-2011 à 14:00:40    

il te faut un serveur de mail pour envoyer des mails avec PHP ;). Soit tu en as un en localhost, soit tu configures un serveur distant. Sinon la plupart des hébergeurs en fournissent un (les payants en général..)


Message édité par Metatr0n le 08-06-2011 à 14:00:50

---------------
http://www.microcontest.com - Site de challenges de programmation : Cryptographie - Multimedia - Intelligence Artificielle - Réseaux - Algorithmique - Mathématiques
Reply

Marsh Posté le 09-06-2011 à 18:45:17    

dans php.ini, cherche la ligne contenant "SMTP"
par défaut sur localhost / port 25, tu peux changer. Si t'es chez toi, tu peux mettre le SMTP de ton fournisseur d'accès (si tant est que le port 25 ne soit pas bloqué).
Par contre après tout changement de php.ini, pense à bien relancer Apache.


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed