Envoi de plusieur mail + mail html

[Résolu]
Signaler
Messages postés
1732
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
9 mars 2015
-
 oragore -
Salut
voila j'ai un code pour envoyer un mail lors de l'envoi du formulaire
mais je voudrai que cela envoi le mail aplusieur destinataire.
et que le mail soit rédgier en html.
COmmetn faire ?
voiçi mon code :

<?php
$destinataire = array(
'destinataire1'=>'blacknight91@free.fr',
'destinataire2'=>'blacknight91@free.fr'
);
$subject = "Nouvelle Animation";
$entet = "From: "Ton pseudo"\n";
$msg = "
<html>
Nouvelle animation
disponible



Si vous recevez ce mail c'est que vous
êtes inscrit a la newsletter de flash_nouvelle.

Blacknight vous annonce qu'une
nouvelle animation est disponible sur son ftp.

L'animation $animation peut être vu sur l'url suivante
:

$url

Message personel de Blacknight
:

$msg

Il vous ait possible d'écrire à
Blacknight pour lui donnez votre avis en écrivant a l'adresse suivante
:

blacknight91@free.fr

En vous remerciant.



Blacknight
</html>
";
foreach($destinataire as $key =>$value) {
mail($value,$subject,$msg,$entet);
}
?>

QUelqu'un sait t'il comment faire ?
merci d'avance

8-) Bl@cknight91Titi :-p

29 réponses

Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

Slt,

Le script ci dessous tourne trés bien. Adapte le a tes besoins

$destinataire = array('blacknight91@free.fr','blacknight100@free.fr');

foreach ($destinataire as $value) {
echo mail($value,"titre","texte","From:blacknight91@free.fr\nContent-Type: text/html; charset="iso-8859-1"\n");
}

ou fait tout smplement comme le propose Magidev
en copie jointe cachée :

donc

$destinataire = "blacknight91@free.fr,blacknight100@free.fr,autre@autre.com";

echo mail("ton@titi.com","titre","texte","From:blacknight91@free.fr\nContent-Type: text/html; charset="iso-8859-1"\nBCC:$destinataire");
}

@++
Laurent
Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

Slt,

Plus bas je t'ai mis genre tuto que j'ai fais pour une newsletter, meme principe que ce que tu veux, dedans tu pourra voir la structure pour envoyer 1 mail en HTML,
Maintenant ton code est ok pour envoyer des mails a partir d'un tableau mais je ne serais que trop te conseiller de faire ca a partir de tables. Voila en esperant que cela t'aide.

@++
Laurent
http://phpsources.net

Le principe est simple, il y a une table que j'ai apeler ici 'newsletters' qui est la base de donées de toute les adresses avec le nom et la date a laquel le membre s'est inscrit.

CREATE TABLE newsletters (
  id int(100) NOT NULL auto_increment,
  email varchar(150) NOT NULL default '',
  nom varchar(150) NOT NULL default '',
  date date NOT NULL default '0000-00-00',
  PRIMARY KEY  (id)
) TYPE=MyISAM;

Ici, juste la requete pour inserer les élements dans ta table 'newsletter'
<?php

$email = ''; // email
$nom = ''; // Nom, auteur, speudo ou autres...

// insertion de la news dans sa table:
mysql_query("INSERT INTO newsletters (email, nom, date) VALUES('$email','$nom',NOW())");
?>

Ensuite on fais une lecture de ta table dans une boucle (while) et on envoi le mail
en meme temps. Il y a aussi 1 petit compteur qui compte et affiche les mails parties.

<?php

   //envoie du mail
   // Exemple de contenu du mail
   $contenu = "Salut! 
email : $e_mail
"; // le contenu du mail
   $contenu = "Bye! 

";

   $q = mysql_query("SELECT email FROM newsletters"); // requete
   $compteur=1; // variable pour compter les mails
   while ($r = mysql_fetch_array($q)) {
   $e_mail =  $r[email]; // le mail
   // envoi du mail HTML
   mail($e_mail,"titre",$contenu,"From:nom@tonsiteouautre.com\nContent-Type: text/html; charset="iso-8859-1"\n");
        echo" N° $compteur $e_mail : envoyé avec succés!
";
        $compteur++; // ajoute 1 à la variale du compteur
        }  // fin du while

?>
Messages postés
18
Date d'inscription
mercredi 15 janvier 2003
Statut
Membre
Dernière intervention
2 avril 2006

Salut,

Dans le cas d'envoi de mail au format HTML il peut arriver que ton mail soit tronqué si tu ne déclare pas bien le type MIME dans les Headers du mail, cela arrives en autre sous les serveur déployés sous windows.

De plus certains serveur pop3 ou clients sont allergiques aux mailers Php, donc je te conseille de renseigner le X-Mailer en tant que mailer outlook pour éviter tout problemes.

Voici un bon de code développé pour le formulaire de candidature sur un site, pour lequel je n'ai pas eu de bug recensé.

$message="<html>
<head>

//Ton code HTML

</html>";

$header="
MIME-Version: 1.0\r\n
Content-type: text/html; charset=iso-8859-1\r\n
From:$mail;
";

mail($mailing,"Demande de candidature",$message,$header);

-=Fabolo=-
Messages postés
1732
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
9 mars 2015
2
Ou met t'on le destinaire ou pluto les déstinataire ?

8-) Bl@cknight91Titi :-p
Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

tu t'es basé sur quel code?
montre ton code
Messages postés
1732
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
9 mars 2015
2
bin la je l'ai pas mal modifier mais bon regarde :

<?php
$header= "
MIME-Version: 1.0\r\n
Content-type: text/html; charset=iso-8859-1\r\n
From:$mail;
";

$destinataire = array(
'destinataire1'=>'blacknight91@free.fr',
'destinataire2'=>'blacknight91@free.fr');
$subject = "Nouvelle Animation";
$entet = "From: "Ton pseudo"\n";
$msg = "
<html><head></head>
Nouvelle animation
disponible



Si vous recevez ce mail c'est que vous
êtes inscrit a la newsletter de flash_nouvelle.

Blacknight vous annonce qu'une
nouvelle animation est disponible sur son ftp.

L'animation $animation peut être vu sur l'url suivante
:

$url

Message personel de Blacknight
:

$msg

Il vous ait possible d'écrire à
Blacknight pour lui donnez votre avis en écrivant a l'adresse suivante
:

blacknight91@free.fr

En vous remerciant.



Blacknight
</html>
";
foreach($destinataire as $key =>$value) {
mail($value,$subject,$msg,$header);
}
?>

voila

8-) Bl@cknight91Titi :-p
Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

essaye comme ca

$destinataire = array('blacknight91@free.fr','blacknight91@free.fr');
reset($destinataire);

foreach ($destinataire as $value) {
mail($value,$subject,$msg,$header);
}
Messages postés
1732
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
9 mars 2015
2
non sa ne marche pas
il dit qu'il y a une ereur sur la ligne :
mail($value,$subject,$msg,$header);
comprend pas pourquoi voiçi le code en entier :

<?php
$header="
MIME-Version: 1.0\r\n
Content-type: text/html; charset=iso-8859-1\r\n
From:$mail;
";

$destinataire = array('blacknight91@free.fr','blacknight91@free.fr');
reset($destinataire);
$subject = "Nouvelle Animation";
$entet = "From: "Ton pseudo"\n";
$msg = "
<html><head></head>
Nouvelle animation
disponible



Si vous recevez ce mail c'est que vous
êtes inscrit a la newsletter de flash_nouvelle.

Blacknight vous annonce qu'une
nouvelle animation est disponible sur son ftp.

L'animation $animation peut être vu sur l'url suivante
:

$url

Message personel de Blacknight
:

$msg

Il vous ait possible d'écrire à
Blacknight pour lui donnez votre avis en écrivant a l'adresse suivante
:

blacknight91@free.fr

En vous remerciant.



Blacknight
</html>
";
foreach ($destinataire as $value) {
mail($value,$subject,$msg,$header);
}

?>

8-) Bl@cknight91Titi :-p
Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

renseigne la variable $mail

$mail = "ton@email.com";

$header="
MIME-Version: 1.0\r\n
Content-type: text/html; charset=iso-8859-1\r\n
From:$mail;
";

ensuite test en ligne c'est toujours mieux.

Puis debogue pas a pas donc fait juste dans 1 premier temps:
mail("blacknight91@free.fr",$subject,$msg,$header);
Messages postés
1732
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
9 mars 2015
2
Alors....
Je reçoit bien deux mail mais....
l'un vient de blacknight91@free.fr (jusque la rien d'anormale du tt)
mais le message est en html on n'y comprend rien
et le second mail vient de "www-data" mais le contenu c'est pareil que le précédant c'est du code html a n'y rien comprendre
:(
voila le code mais sans le html du msg pcq sinon sa fai trop de spam :

<?php
$mail = "blacknight91@free.fr";

$header="
MIME-Version: 1.0\r\n
Content-type: text/html; charset=iso-8859-1\r\n
From:$mail;
";

$destinataire = array('blacknight91@free.fr','blacknight91@free.fr');
reset($destinataire);

$subject = "Nouvelle Animation";
$entet = "From: "Ton pseudo"\n";
$msg = "
(la le msg en html)
";
foreach ($destinataire as $value) {
mail("blacknight91@free.fr",$subject,$msg,$header);
}

?>

8-) Bl@cknight91Titi :-p
Messages postés
1732
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
9 mars 2015
2
Lien
c'est le lien vers la page où je test si tu veux aller voir

8-) Bl@cknight91Titi :-p
Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

je connais pas ce que t'a dis fabolo, utilise ce header plutot

foreach ($destinataire as $value) {
mail($value,$msg,"From:blacknight91@free.fr\nContent-Type: text/html; charset="iso-8859-1"\n");
}
Messages postés
1732
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
9 mars 2015
2
Sa marche masi eu le message est mis dans le sujet :(
et dans le mail il y a :
From:blacknight91@free.fr
Content-Type: text/html; charset="iso-8859-1"

il n'y a qu'un mail d'nevoyer
voiçi le code sans le msg :

<?php

$destinataire = array('blacknight91@free.fr','blacknight91@free.fr');
reset($destinataire);

$subject = "Nouvelle Animation";
$entet = "From: "Ton pseudo"\n";
$msg = "
MSG....
";
foreach ($destinataire as $value) {
mail($value,$msg,"From:blacknight91@free.fr\nContent-Type: text/html; charset="iso-8859-1"\n");
}

?>

8-) Bl@cknight91Titi :-p
Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

oupsi!!

foreach ($destinataire as $value) {
mail($value,$subject,$msg,"From:blacknight91@free.fr\nContent-Type: text/html; charset="iso-8859-1"\n");
}
Messages postés
1732
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
9 mars 2015
2
Warning: mail(): Erreur d'appel #1.5 in /var/www/free.fr/1/e/blacknight91/Flash_nouvelle/fonction.php on line 35

c'est l'erreur qu'il me marque
la ligne c'est :

mail($value,$subject,$msg,"From:blacknight91@free.fr\nContent-Type: text/html; charset="iso-8859-1"\n");

comprend po :(

8-) Bl@cknight91Titi :-p
Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

je vais tester ca direct en ligne demain, je te tiens au courant
++ Laurent
Messages postés
249
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
28 août 2009

Pour se faciliter la vie on peut mettre aussi toutes les adresse mails a la suite dans l'entête BCC:

C'est plus simple et les autres destinataires ne voient pas ca et on évite de faire un loop d'envoi de mail qui risque de dépasser le timeout du serveur, donc comme ca le serveur mail fait ca

*************
On a parfois de la chance dans son malheur, moi par exemple, je me suis blessé avec une boite de sparadraps (P.Geluck)

Si vous désirez vous ajouter dans mes contacts MSN, veuillez m'envoyer un message via ce site.
Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

Slt,

Question
j'ai jamais tester ta soluce et je me demandais si les adresses des autres membres restaient cachés dans la messagerie du recepteur?
Peux tu donner la syntaxe egalement. Merci and good night

++
Laurent
Messages postés
1732
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
9 mars 2015
2
dans la messagerie du récepteur ?
euuu
non je croit pas qu'on les vois
le récepteur reçoit un mail avec des informations et le destinaire aparaissant est "blacknight91@free.fr"
mais rien d'autre qui puisse indiquer les autres adresses
le code ne marche toujours pas :(
il doit pourtant bien y avoir un moyen
j'ai reçu deux mails ce matin avec dedan "texte" de marqué je supose que c'est toi qui a testé ?

8-) Bl@cknight91Titi :-p
Messages postés
1732
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
9 mars 2015
2
alo ?

8-) Bl@cknight91Titi :-p