Envoi un mail simultanément en php
Fermé
black_heart
Messages postés
346
Date d'inscription
dimanche 3 août 2008
Statut
Membre
Dernière intervention
31 janvier 2016
-
5 mai 2011 à 16:16
Flog78 - 9 mai 2011 à 13:54
Flog78 - 9 mai 2011 à 13:54
A voir également:
- Envoi un mail simultanément en php
- Creer adresse mail - Guide
- Alert php ✓ - Forum PHP
- Envoyez ce mail à manon (manon@pixmail.org) en mettant en copie nina (nina@pixmail.org) : ✓ - Forum Loisirs / Divertissements
- Créer un compte yahoo mail gratuit avec capacité de - Guide
- Ouvrir ma boîte mail ✓ - Forum Messagerie
7 réponses
gezaakk
Messages postés
380
Date d'inscription
jeudi 27 mai 2010
Statut
Membre
Dernière intervention
26 mai 2015
34
Modifié par gezaakk le 5/05/2011 à 16:32
Modifié par gezaakk le 5/05/2011 à 16:32
Tu remplie une variable avec les e mails (séparer par une virgule) disponible du pays sélectionner avec une boucle while puis avec une boucle for par exemple tu va utiliser la fonction explode (le virgule est le séparateur) pour extraire un e mail pour l'utiliser dans le fonction mail
Pour la base de donnée je propose de construire les tables comme ça :
pays (id, nom)
agences (id, nom, #refpays, email, adresse...)
ensuite dans ton code source lorsque l'utilisateur choisi le pays qu'il désire:
$requete = mysql_query ("select * from agences where refpays=".$_POST['id'] );
while($row = mysql_fetch_array($requete))
{
$adresse = $row["email"];
mail ();
}
lien utile :
écrire un mail en php :
http://php.net/manual/en/function.mail.php
mysql querry :
http://php.net/manual/en/function.mysql-query.php
mysql fetch array :
http://php.net/manual/en/function.mysql-fetch-array.php
pays (id, nom)
agences (id, nom, #refpays, email, adresse...)
ensuite dans ton code source lorsque l'utilisateur choisi le pays qu'il désire:
$requete = mysql_query ("select * from agences where refpays=".$_POST['id'] );
while($row = mysql_fetch_array($requete))
{
$adresse = $row["email"];
mail ();
}
lien utile :
écrire un mail en php :
http://php.net/manual/en/function.mail.php
mysql querry :
http://php.net/manual/en/function.mysql-query.php
mysql fetch array :
http://php.net/manual/en/function.mysql-fetch-array.php
black_heart
Messages postés
346
Date d'inscription
dimanche 3 août 2008
Statut
Membre
Dernière intervention
31 janvier 2016
20
5 mai 2011 à 19:00
5 mai 2011 à 19:00
voici mon travaill en 2 fichier apart la base de donnée
file .PHP
<?php
mysql_connect('127.0.0.1', 'root', '');
mysql_select_db('expo');
function get_options()
{
$retour=mysql_query('SELECT DISTINCT pays FROM agences');
while($resultat=mysql_fetch_array($retour)){
echo "<option>";
echo $resultat['pays'];
echo "</option>";
}
}
function send($mail, $message)
{
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui rencontrent des bogues.
{
$passage_ligne = "\r\n";
}
else
{
$passage_ligne = "\n";
}
//=====Déclaration des messages au format texte et au format HTML.
$message_txt = $message;
$message_html = "<html><head></head><body>$message</body></html>";
//==========
//=====Création de la boundary
$boundary = "-----=".md5(rand());
//==========
//=====Définition du sujet.
$sujet = "mise a jour produits";
//=========
//=====Création du header de l'e-mail.
$header = "From: \"WeaponsB\"<weaponsb@mail.fr>".$passage_ligne;
$header.= "Reply-to: \"WeaponsB\" <weaponsb@mail.fr>".$passage_ligne;
$header.= "MIME-Version: 1.0".$passage_ligne;
$header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
//==========
//=====Création du message.
$message = $passage_ligne.$boundary.$passage_ligne;
//=====Ajout du message au format texte.
$message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_txt.$passage_ligne;
//==========
$message.= $passage_ligne."--".$boundary.$passage_ligne;
//=====Ajout du message au format HTML
$message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_html.$passage_ligne;
//==========
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
//==========
//=====Envoi de l'e-mail.
mail($mail,$sujet,$message,$header);
//==========
}
function send_mail($pays, $message)
{
$retour1=mysql_query('SELECT * FROM agences WHERE pays=\''.$pays.'\';') OR DIE(mysql_error());
while($resultat1=mysql_fetch_array($retour1)){
send($resultat1['mail'], $message);
}
}
?>
file .PHP
<?php
mysql_connect('127.0.0.1', 'root', '');
mysql_select_db('expo');
function get_options()
{
$retour=mysql_query('SELECT DISTINCT pays FROM agences');
while($resultat=mysql_fetch_array($retour)){
echo "<option>";
echo $resultat['pays'];
echo "</option>";
}
}
function send($mail, $message)
{
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui rencontrent des bogues.
{
$passage_ligne = "\r\n";
}
else
{
$passage_ligne = "\n";
}
//=====Déclaration des messages au format texte et au format HTML.
$message_txt = $message;
$message_html = "<html><head></head><body>$message</body></html>";
//==========
//=====Création de la boundary
$boundary = "-----=".md5(rand());
//==========
//=====Définition du sujet.
$sujet = "mise a jour produits";
//=========
//=====Création du header de l'e-mail.
$header = "From: \"WeaponsB\"<weaponsb@mail.fr>".$passage_ligne;
$header.= "Reply-to: \"WeaponsB\" <weaponsb@mail.fr>".$passage_ligne;
$header.= "MIME-Version: 1.0".$passage_ligne;
$header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
//==========
//=====Création du message.
$message = $passage_ligne.$boundary.$passage_ligne;
//=====Ajout du message au format texte.
$message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_txt.$passage_ligne;
//==========
$message.= $passage_ligne."--".$boundary.$passage_ligne;
//=====Ajout du message au format HTML
$message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_html.$passage_ligne;
//==========
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
//==========
//=====Envoi de l'e-mail.
mail($mail,$sujet,$message,$header);
//==========
}
function send_mail($pays, $message)
{
$retour1=mysql_query('SELECT * FROM agences WHERE pays=\''.$pays.'\';') OR DIE(mysql_error());
while($resultat1=mysql_fetch_array($retour1)){
send($resultat1['mail'], $message);
}
}
?>
black_heart
Messages postés
346
Date d'inscription
dimanche 3 août 2008
Statut
Membre
Dernière intervention
31 janvier 2016
20
5 mai 2011 à 19:00
5 mai 2011 à 19:00
<?php include('file.php'); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>formulaire</title>
</head>
<body>
<?php if(!isset($_POST['mail'])){ ?>
<center><form action="#" method="post">
<select name="land"><?php get_options(); ?></select>
<textarea rows="10" cols="40" name="mail"></textarea><br />
<input type="submit" value="envoyer" />
</form></center>
<?php }
else { send_mail($_POST['land'], $_POST['mail']); ?>
<p>le mail a été envoyé, <a href="index.php"> retour au formulaire</a></p>
<?php } ?>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>formulaire</title>
</head>
<body>
<?php if(!isset($_POST['mail'])){ ?>
<center><form action="#" method="post">
<select name="land"><?php get_options(); ?></select>
<textarea rows="10" cols="40" name="mail"></textarea><br />
<input type="submit" value="envoyer" />
</form></center>
<?php }
else { send_mail($_POST['land'], $_POST['mail']); ?>
<p>le mail a été envoyé, <a href="index.php"> retour au formulaire</a></p>
<?php } ?>
</body>
</html>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
black_heart
Messages postés
346
Date d'inscription
dimanche 3 août 2008
Statut
Membre
Dernière intervention
31 janvier 2016
20
5 mai 2011 à 19:02
5 mai 2011 à 19:02
et voici le message d'erreur
Warning: mail() [function.mail]: Failed to connect to mailserver at "127.0.0.1" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Program Files\EasyPHP-5.3.3.1\www\file.php on line 63
le mail a été envoyé, retour au formulaire
Warning: mail() [function.mail]: Failed to connect to mailserver at "127.0.0.1" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Program Files\EasyPHP-5.3.3.1\www\file.php on line 63
le mail a été envoyé, retour au formulaire
C'est tout à fait normal, on ne peux pas envoyer de mail avec EasyPHP simplement car sur EasyPHP il n'y a pas de serveur SMTP d'envoi d'e-mail !
black_heart
Messages postés
346
Date d'inscription
dimanche 3 août 2008
Statut
Membre
Dernière intervention
31 janvier 2016
20
6 mai 2011 à 20:42
6 mai 2011 à 20:42
justement , je veux une solution et merci d'avance