begin process at 2012 05 30 16:08:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Réseau & Internet

 > 

mail html avec piece jointe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

mail html avec piece jointe

jeudi 18 août 2005 à 11:15:36 | mail html avec piece jointe

dartaloufe

Bonjour,
j'ai récupérer une source sur le site que j'ai ensuite modifier pour pouvoir envoyer plusieurs pieces jointes,
les pieces son bien attaché mais le texte html n'est pas afficher.
si kelkun pouvais m'expliquer le principe des boundary car je pense que c'est de la ke viend le pb, voici mon code :

      $limite = "_parties_".md5(uniqid (rand()));
      $mail_mime = "MIME-Version: 1.0\n";
      $mail_mime .= "Content-Type: multipart/alternative;\n";
      $mail_mime .= " boundary=\"----=".$limite."\"\n\n";
     
      //le corps du message
      $texte = "This is a multi-part message in MIME format.\n";
      $texte .= "Ceci est un message est au format MIME.\n";
      $texte .= "------=".$limite."\n";
      $texte .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
      $texte .=  "Content-Transfer-Encoding: quoted-printable\n ";
      $texte .= "Content-Disposition: inline \n ";
      $texte .= $mail_dprh;
      $texte .= "\n\n";
      $i=0;
     
     
     chdir ($dossier);
    
     $attachement = ''; 
    //on ajout toutes les pieces jointes
     while($i < $taille)
      {
         $longeur = strlen ($variables_liste_fichier[$i]);
       $longeur -=3;
       if(substr($variables_liste_fichier[$i],$longeur) == "doc")
       {
        $type = 'application/msword';
       }
       else
        $type = 'application/pdf';
     
       $attachement .= "------=".$limite."\n";
       $attachement .= "Content-Type: ".$type." name=".$variables_liste_fichier[$i]."\n";
       $attachement .= "Content-Transfer-Encoding: base64\n";
       $attachement .= "Content-Disposition: attachment; filename=".$variables_liste_fichier[$i]."\n\n";
       
       $fd = fopen( 'demande_'.$num_demande.'_'.$variables_liste_fichier[$i], "rb" );
       $contenu = fread( $fd, filesize( 'demande_'.$num_demande.'_'.$variables_liste_fichier[$i] ) );

       $attachement .= chunk_split(base64_encode($contenu));
       
       $attachement .= "\n\n\n------=".$limite."\n";
      
       $i++;
    
    }
    if ( mail(
bidule@bidule.fr', $objet_dprh, $texte.$attachement, $mail_mime) )
    {
     //on affiche un message indiquant l'envoi du message
     echo '<p align="left"><font color="green"face="Arial, Helvetica, sans-serif">Demande envoyée </font></p>';
    }
    else
    {
     //on affiche un message indiquant l'echec de l'envoi du message 
     echo '<p align="left"><font color="red" face="Arial, Helvetica, sans-serif"> Echec de l\'envoi de la demande</font></p>';
    }
    

jeudi 18 août 2005 à 11:41:26 | Re : mail html avec piece jointe

malik7934

"The boundary parameter is an arbitrary value used as an identifier in the e-mail. Therefore, for the most part, the boundary parameter can be set to whatever you like (as long as it is a unique value).  -> [ Lien ]

[ Lien ] -> c'est une classe pour mailer qui te fait meme un cafe!

Ceci dit, je sais po pourquoi ca foire ton truc

Ceci dit, en observant un msg avec multi pieces jointes, j'ai l'impression que c'est plutot ta construction de l'attachement qui est fausse car dans les mails avecplusieurs pieces jointes il y a des "------_=_NextPart_"... observe la source d'un message
jeudi 18 août 2005 à 11:46:02 | Re : mail html avec piece jointe

dartaloufe

ba j'ai regarder la source de mes mails mais je trouve tjs pas l'erreur
jeudi 18 août 2005 à 11:51:33 | Re : mail html avec piece jointe

dartaloufe

le truc c'est que les pieces jointes sont bien ajouté avec leur contenu mais ya pas le texte html!

jeudi 18 août 2005 à 11:53:07 | Re : mail html avec piece jointe

malik7934

T'as regarde si tes pieces jointes sont valides? Parce que peut etre que la premiere est patchee au texte!
jeudi 18 août 2005 à 12:04:04 | Re : mail html avec piece jointe

dartaloufe

ouai elle son valides cé pour ca ke je compren pa
jeudi 18 août 2005 à 12:06:27 | Re : mail html avec piece jointe

dartaloufe

par contre il ya une troisime piece jointe nommée  ATT10005.ATT ki pèse 96 octet qui est vide et ke je n'est pas attaché
jeudi 18 août 2005 à 12:10:44 | Re : mail html avec piece jointe

dartaloufe

et la source du message est ca :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"></HEAD>
<BODY></BODY></HTML>
jeudi 18 août 2005 à 14:05:30 | Re : mail html avec piece jointe

dartaloufe

Réponse acceptée !

J'ai trouver moi-même la solution après avoir pas mal galèré! en fait ilo fau metre le boundary fermant uniquement a la fin du mail ;)

SOLUTION :

 $limite = "----=_Part_" . md5( uniqid ( rand() ) );
      $mail_mime  = "MIME-Version: 1.0\r\n";
      $mail_mime .= "Content-Type: multipart/mixed;
        boundary=\"".$limite."\"\r\n";

     
      //le corps du message
      $texte = "This is a multi-part message in MIME format.\n";
      $texte .= "Ceci est un message est au format MIME.\n";
      $texte .= "--".$limite."\n";
      $texte .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
      $texte .=  "Content-Transfer-Encoding: quoted-printable\n ";
      $texte .= "Content-Disposition: inline \n\n ";
      $texte .= $mail_dprh;
      $texte .= "\n\n";
      $texte .= "\n\n";
      $i=0;
     
     
     chdir ($dossier);
     $attachement = ''; 
    //on ajout toutes les pieces jointes
     while($i < $taille)
      {
         $longeur = strlen ($variables_liste_fichier[$i]);
       $longeur -=3;
       if(substr($variables_liste_fichier[$i],$longeur) == "doc")
       {
        $type = "application/msword";
       }
       else
        $type = "application/pdf";
      
       $attachement .= "--".$limite."\n";
       $attachement .= "Content-Type: ".$type." name=".$variables_liste_fichier[$i]."\n";
       $attachement .= "Content-Transfer-Encoding: base64\n";
       $attachement .= "Content-Disposition: attachment; filename=".$variables_liste_fichier[$i]."\n\n";
       
       $fd = fopen( 'demande_'.$num_demande.'_'.$variables_liste_fichier[$i], "rb" );
       $contenu = fread( $fd, filesize( 'demande_'.$num_demande.'_'.$variables_liste_fichier[$i] ) );

       $attachement .= chunk_split(base64_encode($contenu));
       
       $i++;     
     
    }
     $attachement .= "\n\n--".$limite."--\n\n";
    
    if ( mail(
bidule@bidule.fr',$objet_dprh,$texte.$attachement,$mail_mime) )
    {
     //on affiche un message indiquant l'envoi du message
     echo '<p align="left"><font color="green"face="Arial, Helvetica, sans-serif">Demande envoyée </font></p>';
    }
    else
    {
     //on affiche un message indiquant l'echec de l'envoi du message 
     echo '<p align="left"><font color="red" face="Arial, Helvetica, sans-serif"> Echec de l\'envoi de la demande</font></p>';
    }

jeudi 18 août 2005 à 14:05:58 | Re : mail html avec piece jointe

dartaloufe

J'ai trouver moi-même la solution après avoir pas mal galèré! en fait ilo fau metre le boundary fermant uniquement a la fin du mail ;)

SOLUTION :

 $limite = "----=_Part_" . md5( uniqid ( rand() ) );
      $mail_mime  = "MIME-Version: 1.0\r\n";
      $mail_mime .= "Content-Type: multipart/mixed;
        boundary=\"".$limite."\"\r\n";

     
      //le corps du message
      $texte = "This is a multi-part message in MIME format.\n";
      $texte .= "Ceci est un message est au format MIME.\n";
      $texte .= "--".$limite."\n";
      $texte .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
      $texte .=  "Content-Transfer-Encoding: quoted-printable\n ";
      $texte .= "Content-Disposition: inline \n\n ";
      $texte .= $mail_dprh;
      $texte .= "\n\n";
      $texte .= "\n\n";
      $i=0;
     
     
     chdir ($dossier);
     $attachement = ''; 
    //on ajout toutes les pieces jointes
     while($i < $taille)
      {
         $longeur = strlen ($variables_liste_fichier[$i]);
       $longeur -=3;
       if(substr($variables_liste_fichier[$i],$longeur) == "doc")
       {
        $type = "application/msword";
       }
       else
        $type = "application/pdf";
      
       $attachement .= "--".$limite."\n";
       $attachement .= "Content-Type: ".$type." name=".$variables_liste_fichier[$i]."\n";
       $attachement .= "Content-Transfer-Encoding: base64\n";
       $attachement .= "Content-Disposition: attachment; filename=".$variables_liste_fichier[$i]."\n\n";
       
       $fd = fopen( 'demande_'.$num_demande.'_'.$variables_liste_fichier[$i], "rb" );
       $contenu = fread( $fd, filesize( 'demande_'.$num_demande.'_'.$variables_liste_fichier[$i] ) );

       $attachement .= chunk_split(base64_encode($contenu));
       
       $i++;     
     
    }
     $attachement .= "\n\n--".$limite."--\n\n";
    
    if ( mail(
bidule@bidule.fr',$objet_dprh,$texte.$attachement,$mail_mime) )
    {
     //on affiche un message indiquant l'envoi du message
     echo '<p align="left"><font color="green"face="Arial, Helvetica, sans-serif">Demande envoyée </font></p>';
    }
    else
    {
     //on affiche un message indiquant l'echec de l'envoi du message 
     echo '<p align="left"><font color="red" face="Arial, Helvetica, sans-serif"> Echec de l\'envoi de la demande</font></p>';
    }


1 2

Cette discussion est classée dans : mail, texte, mime, content, attachement


Répondre à ce message

Sujets en rapport avec ce message

Probleme de pièce jointe lors d'un envoi d'un mail [ par Morgul ] J'ai le code suivant trouvé sur un site de php:     $mail="adressemail@hotmail.com";  $mess="contenu du message";  mail_attachement($mail,"sujet",$me aider moi svp [ par ahlemlo ] bonjourj'ai pas encore trouver la réponseaider moi je suis bloquévoici j'ai mis ce code pour envoi mail avec piéce jointe j'ai réçu le mail mais la pi envoi mail avec piece jointe [ par fredhot ] Bonjour à tous, depuis quelques jours j'essaie d'envoyer des mails avec une pièce jointe. Sans résultat malgré mes recherches sur le net et divers ess Mail et Client Web ? [ par Varod ] Bonjour,Lors de l'envoie de mail au format HTML, je rencontre des problemes selon les clients web. Certes, il y a le probleme de la lecture des mails comment insérer une pièce jointe dans l'envoi d'un mail ? [ par arnold002 ] Bonjour à tous,J'utilise un formulaire sur ma page form.php. Les données sont transmises à ma 2ème page mail.php, qui contient le script d'envoi d'ema Mail multiformat vide sous Mail Mac [ par cseagle ] Bonjour, Je viens de développer une application php d'envoi de newsletter multi format (Content-Type: multipart/alternative) Dans les webmails qui n Problème de code dans un formulaire [ par gateau ] Bonjour,Je suis on ne peut plus novice en PHP, grâce à des tutoriaux j'ai pu créer un formulaire dans une int formater le texte d'un formulaire envoyer par mail depuis un source flash, [ par nykos2004 ] Nykos Pb avec fonction mail() [ par victorvivic ] Bonjour,J'ai créé un formulaire d'envoi de cartes de voeux avec un cadre de saisie de texte et une image à choisir. Le destinataire reçoit un petit te Demande d'adresses mail sur page d'accueil [ par bousier ] Boujour à tous,Je suis plus que débutant en matière de PHP et j'auré donc besoin de vos talents de programmation !Je vous expose mon problème :Je suis


Nos sponsors


Sondage...

Comparez les prix

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 : 6,942 sec (3)

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