Page 1 sur 1

variable dans corps du message pour mail via MySql

Posté : 18 mai 2022, 13:45
par gabinou
Bonjour,

J'ai mis une tache CRON en place pour pouvoir recevoir un récapitulatif de toutes les commandes du jour par la suite.
Ma tache CRON m'envoie bien un mail mais je n'arrive pas à trouver des solutions pour recevoir ce tableau dans le corps de ce message ( normalement c'est sensé etre un PDF mais commençons simple), actuellement je n'ai noté qu'en dur, je devrai mettre les variables mais cela ne marche pas, je déclare peut etre mon code dans le mauvais sens
Actuellement j'ai crée une requête pour exporter ma BDD en PDF via un bouton .
Ce code, vu qu'il marche très bien, j'aimerai pouvoir le réutilisé dans mon deuxième fichier qui marche très bien dans l'envoi de mail
Je suis une grande débutante en PHP,

code export PDF

Code : Tout sélectionner

<?php //connexion à ma BDD perso $connect = mysqli_connect("..", "..", "..", ".."); if(isset($_POST["submit"])) { $query = "SELECT identifiant,nom,prenom,adresse,complementAdresse,ville,codePostal,mail,fixe,portable,kit,tube,aiguille,adaptateur,cartonSmall,cartonBig,etiquetteChronopost,enveloppeBulle,commentaire,dateCommande FROM exemple"; $res = mysqli_query($connect, $query); if(mysqli_num_rows($res) > 0) { $export = ' <table> <tr> <th>identifiant</th> <th>nom</th> <th>prenom</th> <th>adresse</th> <th>complement adresse</th> <th>ville</th> <th>code postal</th> <th>mail</th> <th>fixe</th> <th>portable</th> <th>nbre de kits</th> <th>nbre de tubes</th> <th>nbre aiguilles</th> <th>nbre adaptateur</th> <th>nbre petit carton</th> <th>nbre grand carton</th> <th>nbre etiquette chronopost</th> <th>nbre enveloppe bulle</th> <th>commentaire</th> <th>date commande</th> </tr> '; while($row = mysqli_fetch_array($res)) { $export .= ' <tr> <td>'.$row["identifiant"].'</td> <td>'.$row["nom"].'</td> <td>'.$row["prenom"].'</td> <td>'.$row["adresse"].'</td> <td>'.$row["complementAdresse"].'</td> <td>'.$row["ville"].'</td> <td>'.$row["codePostal"].'</td> <td>'.$row["mail"].'</td> <td>'.$row["fixe"].'</td> <td>'.$row["portable"].'</td> <td>'.$row["kit"].'</td> <td>'.$row["tube"].'</td> <td>'.$row["aiguille"].'</td> <td>'.$row["adaptateur"].'</td> <td>'.$row["cartonSmall"].'</td> <td>'.$row["cartonBig"].'</td> <td>'.$row["etiquetteChronopost"].'</td> <td>'.$row["enveloppeBulle"].'</td> <td>'.$row["commentaire"].'</td> <td>'.$row["dateCommande"].'</td> </tr> '; } $export .= '</table>'; header('Content-Type: application/xls'); header('Content-Disposition: attachment; filename=commande-ifce.xls'); echo $export; } } ?>
code CRON pour envoi de mail

Code : Tout sélectionner

<?php // Plusieurs destinataires $to = ''; // Sujet $subject = 'Calendrier des anniversaires pour Août'; // message $message = ' <html> <head> <title>Calendrier des anniversaires pour Août</title> </head> <body> <p>Voici les anniversaires à venir au mois d\'Août !</p> <table> <tr> <th>Personne</th><th>Jour</th><th>Mois</th><th>Année</th> </tr> <tr> <td>Josiane</td><td>3</td><td>Août</td><td>1970</td> </tr> <tr> <td>Emma</td><td>26</td><td>Août</td><td>1973</td> </tr> </table> </body> </html> '; // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini $headers[] = 'MIME-Version: 1.0'; $headers[] = 'Content-type: text/html; charset=iso-8859-1'; // En-têtes additionnels $headers[] = 'To: '; $headers[] = 'From:'; $headers[] = 'Cc: '; $headers[] = 'Bcc: '; // Envoi mail($to, $subject, $message, implode("\r\n", $headers));

Re: variable dans corps du message pour mail via MySql

Posté : 19 mai 2022, 11:20
par kevin254kl
Hello,

Quand tu dis que ça ne fonctionne pas :
As-tu une erreur ?
Reçois tu un mail ?
Le smtp est configuré correctement ?

https://www.letecode.com/comment-envoye ... -phpmailer

Re: variable dans corps du message pour mail via MySql

Posté : 20 mai 2022, 09:51
par gabinou
Je reçois bien mon tableau dans le corps de mon mail mais maintenant au lieu de l'avoir dans le corps du message, j'aimerai que ce tableau sois une petite jointe en Excel
Mon premier code fonctionné bien pour un export via le bouton export de ma page web sauf que j'aimerai qu'il y'est un bouton que ce fichier Excel sois envoyé systématiquement en pièce jointe dans le mail
Je ne vois pas comment joindre une capture de mon écran pour de meilleurs explications

Re: variable dans corps du message pour mail via MySql

Posté : 20 mai 2022, 15:18
par or 1
voir le lien donné par kevin et lire la doc ou un exemple pour envoyer un email avec pièce jointe.

Re: variable dans corps du message pour mail via MySql

Posté : 23 mai 2022, 14:07
par gabinou
Le problème n'est pas d'envoyée une pièce jointe mais que que mon excel sois sauvegardé avant l'envoi