begin process at 2012 05 27 20:03:29
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

E-Mail / Messagerie

 > ENVOI DE MAIL (À X DESTINATAIRES- 4 POUR CET EXEMPLE) AVEC PIÈCE JOINTE

ENVOI DE MAIL (À X DESTINATAIRES- 4 POUR CET EXEMPLE) AVEC PIÈCE JOINTE


 Information sur la source

Note :
7 / 10 - par 2 personnes
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :E-Mail / Messagerie Classé sous :envoi, massif, email, multiple Niveau :Débutant Date de création :26/09/2005 Date de mise à jour :26/09/2005 11:32:47 Vu :13 951

Auteur : chrisvach

Ecrire un message privé
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Il sagit de pouvoir envoyer "au coup par coup" un mail informatif à x destinataires réguliers ,
Concerne peut être plus les gens ayant un serveur de messagerie d'entreprise (?)
le contenu du mail étant une pièce jointe au format html
Intérêt : si on a besoin d'informer régulièrement les même destinataires.
Bassé sur une fonction d'envoi de mail paramétrables à x destinataires (exemple 4)
La pièce jointe étant à créer et à gérer parallèlement (contenu libre)
elle est lue par le fichier php et ajoutée au message.

aperçu de la fonction : function sendSMTP($recipient1,$recipient2,$recipient3,$reci pient4,$subject,$content)

Source

  • <?php
  • //FICHIER ENVOIMAILTEST.PHP
  • //PARTIE MESSAGERIE : fonction à laquelle on peut rajouter x recipient
  • //ajout à faire en ligne 6 puis 27 puis 34 puis 57 et en ligne 84
  • function sendSMTP($recipient1,$recipient2,$recipient3,$recipient4,$subject,$content) {
  • //saisir le nom de son serveur de messagerie et arborescence de celui ci si nécessaire
  • $smtp_server = "Nomserveur.arborescence.sourcearborescence";
  • $port = 25;
  • //saisir le nom de domaine (par exemple wanadoo.fr)
  • $mydomain = "toto.fr";
  • //saisir l'intitulé de son compte de messagerie
  • $nomprenom="prenom.nom";
  • //fin de la partie paramètrages
  • $sender = "$nomprenom@$mydomain";
  • $datesend = date("D M j G:i:s T Y");
  • $handle = fsockopen($smtp_server,$port);
  • if($handle) {
  • fputs($handle, "HELO $mydomain\r\n");
  • fgets($handle,100);
  • fputs($handle, "MAIL FROM:<$sender>\r\n");
  • fgets($handle,100);
  • fputs($handle, "RCPT TO:<$recipient1>\r\n");
  • fputs($handle, "RCPT TO:<$recipient2>\r\n");
  • fputs($handle, "RCPT TO:<$recipient3>\r\n");
  • fputs($handle, "RCPT TO:<$recipient4>\r\n");
  • fgets($handle,100);
  • fputs($handle, "DATA\r\n");
  • fgets($handle,100);
  • fputs($handle, "From: VRS HelpDesk <$sender>\r\n");
  • fputs($handle, "To: $recipient1\r\n");
  • fputs($handle, "To: $recipient2\r\n");
  • fputs($handle, "cc: $recipient3\r\n");
  • fputs($handle, "cc: $recipient4\r\n");
  • fputs($handle, "Subject: $subject\r\n");
  • fputs($handle, "Date: $datesend\r\n");
  • fputs($handle, "Mime-Version: 1.0\r\n");
  • fputs($handle, "Content-Type: txt/plain ; charset=\"iso-8859-1\"\r\n");
  • fputs($handle, "Content-Transfer-Encoding: 7bit\r\n");
  • fputs($handle, "$content");
  • fputs($handle, "\r\n.\r\n");
  • fgets($handle,100);
  • fputs($handle, "QUIT\n");
  • fgets($handle,100);
  • sleep(5);
  • fclose($handle);
  • } else {
  • echo "Echec d'envoi du message!";
  • }
  • }
  • //gestion des destinataires
  • $recipient1="prenom1.nom1@wanadoo.fr";
  • $recipient2="prenom2.nom2@noos.fr";
  • $recipient3="prenom3.nom3@xxxxx.fr";
  • $recipient4="prenom4.nom4@yyyyyy.fr";
  • $subject="EnvoiMail.htm";
  • //CREATION DU CONTENU
  • //LECTURE D'UN FICHIER HTML EXTERNE
  • $file = "Message Aux Interesses.htm";
  • $fp = fopen($file, "rb");
  • $attachment = fread($fp, filesize($file));
  • fclose($fp);
  • $msg = "Content-Type: txt/plain ; name=\"$file\"\r\n";
  • $msg .="<br>";
  • $msg .= "Content-Disposition: inline; filename=\"$file\"\r\n";
  • $msg .="<br>";
  • $msg .= $attachment;
  • //AJOUT CONTENU COMMENTAIRE
  • $content2="bonjour";
  • $content2.="<font color=\"#FF0000\"><h2>Il s'agit d'envoyer</h2></font>\r\n";
  • $content2.="<font color=\"#FF0000\"><h2>un message</h2></font>\r\n";
  • $content2.="<font color=\"#FF0000\"><h2>à x personnes</h2></font>\r\n";
  • $content2.="<html><br></html>";
  • $content2.="<html><br></html>";
  • //afffectation du contenu
  • $content=$msg;
  • $content.=$content2;
  • //ENVOI DU MESSAGE
  • sendSMTP($recipient1,$recipient2,$recipient3,$recipient4,$subject,$content);
  • //s'affiche pendant l'envoi du message
  • echo "Aller voir dans la messagerie";
  • $content2="<font color=\"#FF0000\"><h2>Il s'agit d'envoyer un message</h2></font>\r\n";
  • $content2.="<font color=\"#FF0000\"><h2>à x personnes</h2></font>\r\n";
  • $content2.="<font color=\"#FF0000\"><h2>sous forme de pièce jointe\"Message Aux Interesses.htm\"</h2></font>\r\n";
  • $content2.="<html><br></html>";
  • $content2.="<html><br></html>";
  • echo $content2;
  • FIN DU FICHIER PHP
  • ?>
  • <?PHP
  • //CONCERNE LE FICHIER HTML
  • //code de la piece jointe au format html
  • //pour l'exemple "Message Aux Interesses.htm" (respecter blancs, casses et abscence d'accent)ou à adapter
  • //code htm suit
  • ?>
  • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  • <HTML><HEAD><TITLE>Comment maîtriser les coûts d</TITLE>
  • <META content="Microsoft FrontPage 5.0" name=GENERATOR>
  • <META content=FrontPage.Editor.Document name=ProgId>
  • <META http-equiv=Content-Type content="text/html; charset=windows-1252"></HEAD>
  • <BODY>
  • <P><B class=color4-8>Comment maîtriser les coûts d'impression
  • ?</B><BR><EM>[08/09/2005]</EM></P>
  • <P><A vspace=10 border=1></A> </P>
  • <P align=left><B class=color3-8>Politique d'impression et achats de consommables
  • informatiques :</B><BR><IMG height=5 hspace=2
  • src="Message Aux InteressesX_fichiers/puce_jaune.gif" width=5 vspace=2> Sept
  • actions concrètes pour mieux maîtriser les impressions de documents et
  • participer au développement durable au quotidien.<BR><IMG height=5 hspace=2
  • src="Message Aux InteressesX_fichiers/puce_jaune.gif" width=5 vspace=2> Note de
  • service co-signée par la XXX et la YYYY aux ZZZZ et aux WWWW<BR><IMG height=5
  • hspace=2 src="Message Aux InteressesX_fichiers/puce_jaune.gif" width=5 vspace=2>
  • Fiche de préconisations "Les bonnes pratiques d'impression".</P>
  • <P style="TEXT-ALIGN: left"> </P></BODY></HTML>
<?php
//FICHIER ENVOIMAILTEST.PHP
//PARTIE MESSAGERIE : fonction à laquelle on peut rajouter x recipient 
//ajout à faire en ligne 6 puis 27 puis 34 puis 57 et en ligne 84
function sendSMTP($recipient1,$recipient2,$recipient3,$recipient4,$subject,$content) { 
 //saisir le nom de son serveur de messagerie et arborescence de celui ci si nécessaire
 $smtp_server = "Nomserveur.arborescence.sourcearborescence";  
 $port = 25;
 //saisir le nom de domaine (par exemple wanadoo.fr)  
 $mydomain = "toto.fr";
 //saisir l'intitulé de son compte de messagerie
 $nomprenom="prenom.nom"; 
 //fin de la partie paramètrages
 $sender = "$nomprenom@$mydomain"; 
 $datesend = date("D M j G:i:s T Y");  
 $handle = fsockopen($smtp_server,$port);  
 if($handle) {  
  fputs($handle, "HELO $mydomain\r\n");  
  fgets($handle,100);  
  fputs($handle, "MAIL FROM:<$sender>\r\n");  
  fgets($handle,100);  
  fputs($handle, "RCPT TO:<$recipient1>\r\n"); 
  fputs($handle, "RCPT TO:<$recipient2>\r\n"); 
  fputs($handle, "RCPT TO:<$recipient3>\r\n"); 
  fputs($handle, "RCPT TO:<$recipient4>\r\n");   
  fgets($handle,100);  
  fputs($handle, "DATA\r\n");  
  fgets($handle,100);  
  fputs($handle, "From: VRS HelpDesk <$sender>\r\n"); 
  fputs($handle, "To: $recipient1\r\n"); 
  fputs($handle, "To: $recipient2\r\n"); 
  fputs($handle, "cc: $recipient3\r\n");
  fputs($handle, "cc: $recipient4\r\n");
  fputs($handle, "Subject: $subject\r\n");  
  fputs($handle, "Date: $datesend\r\n");  
  fputs($handle, "Mime-Version: 1.0\r\n"); 
  fputs($handle, "Content-Type: txt/plain ; charset=\"iso-8859-1\"\r\n"); 
  fputs($handle, "Content-Transfer-Encoding: 7bit\r\n"); 
  fputs($handle, "$content"); 
  fputs($handle, "\r\n.\r\n"); 
  fgets($handle,100);  
  fputs($handle, "QUIT\n");  
  fgets($handle,100);  
  sleep(5);  
  fclose($handle);  
 
 } else { 
  echo "Echec d'envoi du message!";  
 } 
}

//gestion des destinataires
$recipient1="prenom1.nom1@wanadoo.fr";
$recipient2="prenom2.nom2@noos.fr";
$recipient3="prenom3.nom3@xxxxx.fr";
$recipient4="prenom4.nom4@yyyyyy.fr";
$subject="EnvoiMail.htm";

//CREATION DU CONTENU
//LECTURE D'UN FICHIER HTML EXTERNE
$file = "Message Aux Interesses.htm";
$fp = fopen($file, "rb");
$attachment = fread($fp, filesize($file));
fclose($fp);
$msg  = "Content-Type: txt/plain ; name=\"$file\"\r\n";
$msg .="<br>";
$msg .= "Content-Disposition: inline; filename=\"$file\"\r\n";
$msg .="<br>";
$msg .= $attachment;
//AJOUT CONTENU COMMENTAIRE
$content2="bonjour";
$content2.="<font color=\"#FF0000\"><h2>Il s'agit d'envoyer</h2></font>\r\n";
$content2.="<font color=\"#FF0000\"><h2>un message</h2></font>\r\n";
$content2.="<font color=\"#FF0000\"><h2>à x personnes</h2></font>\r\n";
$content2.="<html><br></html>";
$content2.="<html><br></html>";

//afffectation du contenu
$content=$msg;
$content.=$content2;

//ENVOI DU MESSAGE
sendSMTP($recipient1,$recipient2,$recipient3,$recipient4,$subject,$content);

//s'affiche pendant l'envoi du message
echo "Aller voir dans la messagerie";

$content2="<font color=\"#FF0000\"><h2>Il s'agit d'envoyer un message</h2></font>\r\n";
$content2.="<font color=\"#FF0000\"><h2>à x personnes</h2></font>\r\n";
$content2.="<font color=\"#FF0000\"><h2>sous forme de pièce jointe\"Message Aux Interesses.htm\"</h2></font>\r\n";
$content2.="<html><br></html>";
$content2.="<html><br></html>";
echo $content2;
FIN DU FICHIER PHP
?>


<?PHP
//CONCERNE LE FICHIER HTML
//code de la piece jointe au format html 
//pour l'exemple "Message Aux Interesses.htm" (respecter blancs, casses et abscence d'accent)ou à adapter
//code htm suit
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Comment maîtriser les coûts d</TITLE>
<META content="Microsoft FrontPage 5.0" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId>
<META http-equiv=Content-Type content="text/html; charset=windows-1252"></HEAD>
<BODY>
<P><B class=color4-8>Comment maîtriser les coûts d'impression 
?</B><BR><EM>[08/09/2005]</EM></P>
<P><A vspace=10 border=1></A> </P>
<P align=left><B class=color3-8>Politique d'impression et achats de consommables 
informatiques :</B><BR><IMG height=5 hspace=2 
src="Message Aux InteressesX_fichiers/puce_jaune.gif" width=5 vspace=2> Sept 
actions concrètes pour mieux maîtriser les impressions de documents et 
participer au développement durable au quotidien.<BR><IMG height=5 hspace=2 
src="Message Aux InteressesX_fichiers/puce_jaune.gif" width=5 vspace=2> Note de 
service co-signée par la XXX et la YYYY aux ZZZZ et aux WWWW<BR><IMG height=5 
hspace=2 src="Message Aux InteressesX_fichiers/puce_jaune.gif" width=5 vspace=2> 
Fiche de préconisations "Les bonnes pratiques d'impression".</P>
<P style="TEXT-ALIGN: left"> </P></BODY></HTML>

 Conclusion

Le seul souci que j'ai c'est que cela envoie le mail aux 4 destinataires prévus
(je n'ai pas testé si il y avait une limite en nombre)
et que le message contient bien le fichier html sous forme de pièce jointe.
Mais je n'ai pas encore trouvé comment rajouter un commentaire dans le corps du message en même temps.
(le corps du message est vide)
et (ce serait l'idéal) comment incorporer la partie html dans le corps du message.
Il faut que je creuse les options de composition de mail via Php.


 Historique

26 septembre 2005 11:32:47 :
J'ai enlevé deux // empêchant la bonne exécution de la fonction.

 Sources de la même categorie

Source avec Zip Source avec une capture FORM TO MAIL AVEC PROTECTION PAR TOKEN ET CAPTCHA CONTRÔLES ... par cod57
Source avec Zip Source avec une capture FORMULAIRE VERS COURRIEL BASIQUE AVEC CONTRÔLE CAPTCHA ANTI ... par cod57
Source avec Zip CHAT EN PHP ET JQUERY par pitchoubrazil
Source avec Zip Source avec une capture FORMULAIRE DE CHOIX MULTI-CONTACT VALIDE XHTML 1.0 TRANSITIO... par aventurier19
Source avec Zip Source avec une capture WEB MESSENGER par EvildarkEurope

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture CLASSE DE MESSAGERIE par janhsh
Source avec une capture FORMMAIL SÉCURISÉ par le rouge
Source avec Zip CLASS D' ENVOIE DE MAIL EN SMTP par ImmortalPC
Source avec Zip CLASSE POUR EMPÊCHER LES SOUMISSIONS MULTIPLES DE FORMULAIRE par janhsh
Source avec Zip FORMULAIRE PERMETTANT D'ENVOYER UN E-MAIL (AVEC PIÈCES JOINT... par triumphs

Commentaires et avis

Commentaire de Anthomicro le 26/09/2005 13:20:56

Salut,

pourquoi tu ne passerais pas par un array ou par la function get_num_args pour récupérer le nombre d'arguments de ta fonction ?

Commentaire de wizard512 le 26/09/2005 18:58:35

//moi j'aurai plutot vu

$destinataire = array("destinataire1@example.com",
                      "destinataire2@example.com",
                      "destinataire3@example.com",
                      "destinataire4@example.com");

$nb_dest = count($destinataire);

for($i = 0; $i < $nb_dest; i++)
{

     //envoya de mail au destinataire : $i

}


//Nan ? ^^

Commentaire de Anthomicro le 26/09/2005 19:00:53

Bah c'est ce que je disais plus haut oui ;-)

"pourquoi tu ne passerais pas par un array"

Commentaire de wizard512 le 26/09/2005 19:06:55

dls ^^ j'avais vu et compris mais je voulai rajouter la boucle

for(;;)
{
echo '^^<br>';
}

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

envoi multiple de mail [ par GADSN ] bonjourj'ai une petite question : je suis entrtain d'envoyer des mails periodiquement pour les adherants de mon site ; le probleme c'est que quelques Envoi d'email Multi Destinataire [ par R3dDragon ] Bonjour,J'ai une question, sa fait quelques jours que je programme mon nouveau site web, et là je tombe sur un problème, j'aimerais suite à formulaire envoi d-email [ par abdouinfomiage ] slt les ami j ai besoin d'un script qui me permet d'envoyer plusieurs e-mails a la foisj ai deux pages:-choix des e-mails                        -envo Envoi d'email automatique d'alerte [ par rafff01 ] Bonjour,J'ai un site de petites annonces et je cherche &#224; faire un syst&#232;me qui envoi automatiquement chaque jours un email aux annonceurs don formulaire php_envoi vers bbd et boîte email? [ par lulu la fontaine ] Bonjour à tous! Je suis actuellement en plein développement d'un site web...J'ai particulièrement une question à poser.Cela concerne envoi d'un form Notification par email d'un anniversaire [ par diap ] Bonjour à tous, Je suis face à un curieux problème (je pensais pas que ça allait être si compliqué) : j'ai terminé la programmation d'un "Mémo en lign envoi formulaire par email chez ifrance [ par Spaceduck ] bonjour, j'ai un probleme sur une page de mon site sur ifrance où l'utilisateur remplit un formulaire qui doit m'arriver par mail; et là, c le drame, Envoi email sous forme HTML [ par Bowlest ] Bonjour,Je souhaiterais envoyé un mail un code de confirmation. L'email s'envoie et se receptionne sans problème, cependant je souhaiterais personnali Envoi d'un email via smtp [ par Bruto ] J'aurais besoin d'envoyer des emails via mon serveur smtp ayant l'adresse 172.16.10.111 et donc totalement indépendant de mon serveur apache.J'utilise envoi email [ par henri12 ] salut voici une source que j ai fait pour envoyer des mails et des fichiers differents je l ai tester il fonctionne mais il faut creer un fichier mai


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales