Script envoie de mail

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Script envoie de mail

Re: Script envoie de mail

par Naroth » 14 août 2016, 18:19

Il manquerait pas les points de concaténation ?
$message = 'Bonjour '. $data['nom'].' '. $data['prenom'] .'! Toute la team vous souhaite un très bon anniversaire!';

Re: Script envoie de mail

par Shifting » 14 août 2016, 17:44

Super, ça a fonctionné!

Seulement j'aimerais inclure les $data['nom'] et $data['prenom'] dans le message du mail.
J'ai essayé comme ceci mais message d'erreur : Parse error: syntax error, unexpected '$data' (T_VARIABLE) in... on line 24
//Boucle envoie mail
while ($data = $resultat->fetch_assoc())
	{ 
     $to      = $data['email'];
     $subject = 'Bon anniversaire';
     $message = 'Bonjour ' $data['nom'] ' ' $data['prenom'] '! Toute la team vous souhaite un très bon anniversaire!';
     $headers = 'From: [email protected]' . "\r\n" .
     'Reply-To: [email protected]' . "\r\n" .
     'X-Mailer: PHP/' . phpversion();
 
     mail($to, $subject, $message, $headers);
 	}

Re: Script envoie de mail

par or 1 » 14 août 2016, 17:20

en mettant $data['email'] comme destinataire de l'email dans la boucle.

Re: Script envoie de mail

par Shifting » 14 août 2016, 17:03

Bonjour,

Merci de vos conseils.
J'ai dit utilisé la fonction mail() de php d'abord seul (fonctionne) puis en l'incluant dans la boucle avec en destinataire moi (fonctionne)

Dernière question : Comment puis-je envoyer le mail aux adresses sélectionnées dans la base de données ?

Merci à vous

Re: Script envoie de mail

par @rthur » 14 août 2016, 14:54

Bonjour,

Part surtout d'une page blanche et essaye de reproduire soit l'exemple de phpmailer donné par Naroth soit de l'exemple de la documentation de la fonction mail() pour envoyer 1 seul mail (à toi) :
http://fr.php.net/mail

Une fois que tu auras réussi, tu auras juste à ajouter cette portion de code dans ta boucle en rendant dynamique l'e-mail et le nom.

Re: Script envoie de mail

par Naroth » 14 août 2016, 14:31

Bonjour,

Je te conseille d'utiliser la classe phpmailer qui te simplifie grandement les choses


Un exemple d'utilisation :
<?php
require 'PHPMailerAutoload.php';

$mail = new PHPMailer;

//$mail->SMTPDebug = 3;                               // Enable verbose debug output

$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'smtp1.example.com;smtp2.example.com';  // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = '[email protected]';                 // SMTP username
$mail->Password = 'secret';                           // SMTP password
$mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587;                                    // TCP port to connect to

$mail->setFrom('[email protected]', 'Mailer');
$mail->addAddress('[email protected]', 'Joe User');     // Add a recipient
$mail->addAddress('[email protected]');               // Name is optional
$mail->addReplyTo('[email protected]', 'Information');
$mail->addCC('[email protected]');
$mail->addBCC('[email protected]');

$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
$mail->isHTML(true);                                  // Set email format to HTML

$mail->Subject = 'Here is the subject';
$mail->Body    = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}
?>

Script envoie de mail

par Shifting » 14 août 2016, 12:13

Bonjour,

(Je suis débutant en php)
J'essaye de développer un script dans le but d'envoyer des mails aux personnes dont c'est l'anniversaire.
Jusqu'ici j'ai réussi à me connecter à la base de donnée et afficher le nom des personnes concernées.
Maintenant, il me reste à configurer l'envoie du mail mais je ne sais pas comment faire. Je sais qu'il faut utiliser la fonction mail mais je n'y arrive pas.

Voilà mon script :
<?php

$date_jour = date("d/m");
     
// Déclaration des paramètres de connexion
$host = localhost;
$user = ' ';
$bdd = ' ';
$passwd  = ' ';
 
// Connexion au serveur
mysql_connect($host,$user,$passwd) or die("erreur de connexion au serveur:" . mysql_error());
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees: " . mysql_error());
 
$retour = mysql_query('SELECT nom, prenom, email FROM Anniversaire WHERE MONTH(dateanniv) = MONTH(CURRENT_DATE) AND DAY(dateanniv) = DAY(CURRENT_DATE)');
while ($data = mysql_fetch_assoc($retour))
{
	//On affiche les informations de l'enregistrement en cours
	echo '<b>'.$data['nom'].' '.$data['prenom'].' '.$data['email'].'</b>';
}

//On ferme la connexion à MySQL
mysql_close();


?>
Pouvez-vous m'aider ?