IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Function Mail Html Ok + Mail Brut -> PB boundary


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2
    Par défaut Function Mail Html Ok + Mail Brut -> PB boundary
    Bonjour , Bonsoir ,

    J'ai un gros soucis pour ma newsletter , impossible d'envoyer du contenu texte sans perdre le html

    Edit : Je pense que le prob provient des headers .. et dans la gestion des pieces jointes ..

    1er Code : Envoi un mail html correctement sans mail text/plain

    2eme Code : Envoi Html + Brut : pb de visionnage html , ok concernant le mail text/plain si on demande à notre client de mail de le visionner, MAIS le code html ne marche pas , mais je vois bien pourtant les balises html dans le code dans les sources du mails... meme les images + pdf encodés .. ( d'ailleurs ils ne sont meme pas comptabilisé dans la taille du message ? header foireux ...?! ) arf

    Merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    <?php
     
    //BLABLA
      mysql_connect("localhost", "xxxx", "xxxx");
      mysql_select_db("Mailing");
      $iquery = "select *  from  conf";
      $squery = mysql_query($iquery);
      $donnees = mysql_fetch_array($squery);
     
     $linkimage1 = $donnees['linkimage1'];
     $linkimage2 = $donnees['linkimage2'];
     
     $Image_Formation_1 ="/var/www/prod/demo.DOMAINE.fr/file-mailing/formation_image_1.jpg";
     $Image_Formation_2 ="/var/www/prod/demo.DOMAINE.fr/file-mailing/formation_image_2.jpg";
     $PDF ="/var/www/prod/demo.DOMAINE.fr/file-mailing/formation.pdf";
     $Name_Image_Formation_1 = "formation_image_1.jpg";
     $Name_Image_Formation_2 = "formation_image_2.jpg";
     $Name_PDF  = "formation.pdf";
     $MailFrom="XXX YYY - Formation";
     $MailFromAdr="formation@DOMAINE.fr";
    ///FIN BLABLA
     
    //DEPART
     $CID = md5(uniqid (rand(), 1));
     
     $mime_boundary = "" . md5(uniqid(mt_rand(), 1));  
     
     
     $Header= "From:$MailFrom<$MailFromAdr>\n";
    //  $Header.= "X-mailer: PHP/" . phpversion(). "\n";  
     $Header.= "MIME-Version: 1.0\n";
     $Header.= "Content-Type: multipart/related; boundary=\"".$mime_boundary."\"; type=\"text/plain\"\n"; 
     
     $MailBody = "--".$mime_boundary."\n";
     $MailBody.= "Content-Type: Text/HTML; charset=iso-8859-1";  
     $MailBody.= "Content-Transfer-Encoding: quoted-printable\n\n";  
     $MailBody.= "<html><head></head><body><br><br>";
     $MailBody.= "<br>";
     $MailBody .= "<div align=\"center\"><a href=\"".$linkimage1."\"><img src=\"formation_image_1.jpg\" height=\"1054\" width=\"745\" border=0 alt=\"formation image 1\"></a><br></div>";
     $MailBody .= "<div align=\"center\"><a href=\"".$linkimage2."\"><img src=\"formation_image_2.jpg\" height=\"1054\" width=\"745\" border=0 alt=\"formation image 2\"></a><br></div>";
     //$MailBody .= "<div align=\"center\"><img src=\"cid:$file_id\" alt=\"calor\"><br></div>";
     //$message .= "<img src=\"cid:$file_id\" alt=\"calor\"><br>";
     $MailBody .= "<br>Pour vous desinscrire envoyer un courrier electronique à desabo@DOMAINE.fr.";  
     $MailBody.= "<br><br></body></html>\n\n";
      $MailBody .= "\n \n \r Si vous ne visualisez pas correctement ce message , rendez-vous a l adresse suivante ".$linkimage1."\n\n";
     $MailBody.= "--".$mime_boundary."\n";  
     
     $MailBody = str_replace("formation_image_1.jpg", "cid:$CID.$Name_Image_Formation_1", $MailBody);
     $MailBody = str_replace("formation_image_2.jpg", "cid:$CID.$Name_Image_Formation_2", $MailBody);
     
     $fp = fopen ($Image_Formation_2, "rb");
     $str = fread ($fp, filesize ($Image_Formation_2));
     $datar = chunk_split(base64_encode($str));
     $content = "";
     $content.= "Content-Type: image/jpg\n";
     $content.= "Content-ID: <$CID.$Name_Image_Formation_2>\n";
     $content.= "Content-Transfer-Encoding: base64\n";
     $content.= "Content-Disposition: inline; filename=\"$Name_Image_Formation_2\"\n\n";
     fclose($fp);
     
     $content.= $datar."\n";
     
     $MailBody.= $content;
     $MailBody.= "--".$mime_boundary."\n";
     
     
     $fp = fopen ($Image_Formation_1, "rb");
     $str = fread ($fp, filesize ($Image_Formation_1));
     $data = chunk_split(base64_encode($str));
     $content = "";
     $content.= "Content-Type: image/jpg\n";
     $content.= "Content-ID: <$CID.$Name_Image_Formation_1>\n";
     $content.= "Content-Transfer-Encoding: base64\n";
     $content.= "Content-Disposition: inline; filename=\"$Name_Image_Formation_1\"\n\n";  
     fclose($fp);
     
     
     $content.= $data."\n";
     
     $MailBody.= $content;
     $MailBody.= "--".$mime_boundary."\n";
     
     $fp = fopen ($PDF, "rb");
     $str = fread ($fp, filesize ($PDF));
     $dataz = chunk_split(base64_encode($str));
     $content = "";
     $content.= "Content-Type: application/pdf\n";
     $content.= "Content-ID: <$CID.$Name_PDF>\n";
     $content.= "Content-Transfer-Encoding: base64\n";
     $content.= "Content-Disposition: inline; filename=\"$Name_PDF\"\n\n";
     fclose($fp);
     
     
     $content.= $dataz."\n";
     
     $MailBody.= $content;
     $MailBody.= "--".$mime_boundary."\n";
     
     
      mysql_connect("localhost", "xxxx", "xxxx");
      mysql_select_db("Mailing");
      $iquery = "select sujet  from  conf";
      $squery = mysql_query($iquery);
      $donnees = mysql_fetch_array($squery);
      $MailToSubject = $donnees['sujet'];
     
                           $MailTo ="xxx@xxx.fr";
                           //$MailTo ="yyy@yyy.com";
                           mail($MailTo, $MailToSubject, $MailBody, $Header,"-fformation@DOMAINE.fr");
     
    ?>

    le code qui ne fonctionne pas

    ( le contenu alternative brut marche , mais le code html ne fonctionne plus .. le contenu du mail contient bien les pj mais dans mon client de messagerie la taille ne les comptabilise pas .. ! bizarre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    <?php
     
    //BLABLA
     mysql_connect("localhost", "root", "mdpxxx");
     mysql_select_db("Mailing");
     $iquery = "select *  from  conf";
     $squery = mysql_query($iquery);
     $donnees = mysql_fetch_array($squery);
     
    $linkimage1 = $donnees['linkimage1'];
    $linkimage2 = $donnees['linkimage2'];
     
    $Image_Formation_1 ="/var/www/prod/demo.DOMAINE.fr/file-mailing/formation_image_1.jpg";
    $Image_Formation_2 ="/var/www/prod/demo.DOMAINE.fr/file-mailing/formation_image_2.jpg";
    $PDF ="/var/www/prod/demo.DOMAINE.fr/file-mailing/formation.pdf";
    $Name_Image_Formation_1 = "formation_image_1.jpg";
    $Name_Image_Formation_2 = "formation_image_2.jpg";
    $Name_PDF  = "formation.pdf";
    $MailFrom="XXX YYY - Formation";
    $MailFromAdr="formation@DOMAINE.fr";
    ///FIN BLABLA
     
    //DEPART
    $CID = md5(uniqid (rand(), 1));
     
    $mime_boundary = "" . md5(uniqid(mt_rand(), 1));  
     
     
    $Header= "From:$MailFrom<$MailFromAdr>\n";
    //  $Header.= "X-mailer: PHP/" . phpversion(). "\n";  
    $Header.= "MIME-Version: 1.0\n";
    $Header.= "Content-Type: multipart/alternative; boundary=\"".$mime_boundary."\"; \n"; 
     
    $MailBody = 'This is a multi-part message in MIME format.'."\n\n";
    $MailBody.= "--".$mime_boundary."\n";
    $MailBody.= "Content-Type: Text/plain; charset=iso-8859-1\n";
    //windows-1252
    $MailBody.= "Content-Transfer-Encoding: 8bit\n\n";
    $MailBody.= "Coucou  message test\n\n";
     
     
     
     
    $MailBody .= "--".$mime_boundary."\n";
    $MailBody.= "Content-Type: Text/HTML; charset=iso-8859-1";  
    $MailBody.= "Content-Transfer-Encoding: quoted-printable\n\n";  
    $MailBody.= "<html><head></head><body><br><br>";
    $MailBody.= "<br>";
    $MailBody .= "<div align=\"center\"><a href=\"".$linkimage1."\"><img src=\"formation_image_1.jpg\" height=\"1054\" width=\"745\" border=0 alt=\"formation image 1\"></a><br></div>";
    $MailBody .= "<div align=\"center\"><a href=\"".$linkimage2."\"><img src=\"formation_image_2.jpg\" height=\"1054\" width=\"745\" border=0 alt=\"formation image 2\"></a><br></div>";
    //$MailBody .= "<div align=\"center\"><img src=\"cid:$file_id\" alt=\"calor\"><br></div>";
    //$message .= "<img src=\"cid:$file_id\" alt=\"calor\"><br>";
    $MailBody .= "<br>Pour vous desinscrire envoyer un courrier electronique à desabo@DOMAINE.fr.";  
    $MailBody.= "<br><br></body></html>\n\n";
     $MailBody .= "\n \n \r Si vous ne visualisez pas correctement ce message , rendez-vous a l adresse suivante ".$linkimage1."\n\n";
    $MailBody.= "--".$mime_boundary."\n";  
     
    $MailBody = str_replace("formation_image_1.jpg", "cid:$CID.$Name_Image_Formation_1", $MailBody);
    $MailBody = str_replace("formation_image_2.jpg", "cid:$CID.$Name_Image_Formation_2", $MailBody);
     
    $fp = fopen ($Image_Formation_2, "rb");
    $str = fread ($fp, filesize ($Image_Formation_2));
    $datar = chunk_split(base64_encode($str));
    $content = "";
    $content.= "Content-Type: image/jpg\n";
    $content.= "Content-ID: <$CID.$Name_Image_Formation_2>\n";
    $content.= "Content-Transfer-Encoding: base64\n";
    $content.= "Content-Disposition: inline; filename=\"$Name_Image_Formation_2\"\n\n";
    fclose($fp);
     
    $content.= $datar."\n";
     
    $MailBody.= $content;
    $MailBody.= "--".$mime_boundary."\n";
     
     
    $fp = fopen ($Image_Formation_1, "rb");
    $str = fread ($fp, filesize ($Image_Formation_1));
    $data = chunk_split(base64_encode($str));
    $content = "";
    $content.= "Content-Type: image/jpg\n";
    $content.= "Content-ID: <$CID.$Name_Image_Formation_1>\n";
    $content.= "Content-Transfer-Encoding: base64\n";
    $content.= "Content-Disposition: inline; filename=\"$Name_Image_Formation_1\"\n\n";  
    fclose($fp);
     
     
    $content.= $data."\n";
     
    $MailBody.= $content;
    $MailBody.= "--".$mime_boundary."\n";
     
    $fp = fopen ($PDF, "rb");
    $str = fread ($fp, filesize ($PDF));
    $dataz = chunk_split(base64_encode($str));
    $content = "";
    $content.= "Content-Type: application/pdf\n";
    $content.= "Content-ID: <$CID.$Name_PDF>\n";
    $content.= "Content-Transfer-Encoding: base64\n";
    $content.= "Content-Disposition: inline; filename=\"$Name_PDF\"\n\n";
    fclose($fp);
     
     
    $content.= $dataz."\n";
     
    $MailBody.= $content;
    $MailBody.= "--".$mime_boundary."\n";
     
     
     mysql_connect("localhost", "root", "mdpxxx");
     mysql_select_db("Mailing");
     $iquery = "select sujet  from  conf";
     $squery = mysql_query($iquery);
     $donnees = mysql_fetch_array($squery);
     $MailToSubject = $donnees['sujet'];
     
                          $MailTo ="xxx@xxx.fr";
                          //$MailTo ="yyy@yyy.com";
                          mail($MailTo, $MailToSubject, $MailBody, $Header,"-zzz@xxx.fr");
     
    ?>
    ps : Merci à ceux qui on lu le message mais n'ont pas répondu -> vous avez qd meme pris la peine de lire ! et donc essayer de m'aider

    ps1 at admin @ modo : y a t il une purge des comptes car mon compte ne marche plus ! ( old compte )

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2
    Par défaut
    OS squeeze
    PHP 5.3.3-7+squeeze3

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MAIL]envoyer un mail HTML depuis un bash ?
    Par frp31 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 23/03/2010, 10h34
  2. [Mail] ' devient \' dans mail html
    Par Strix dans le forum Langage
    Réponses: 4
    Dernier message: 11/09/2007, 09h49
  3. [Mail] problème envoi mail html
    Par biggief dans le forum Langage
    Réponses: 3
    Dernier message: 14/04/2006, 16h44
  4. Réponses: 4
    Dernier message: 06/03/2006, 16h14
  5. [Mail] [ mail() ] Envoie de mails HTML
    Par Olish dans le forum Langage
    Réponses: 1
    Dernier message: 05/01/2006, 20h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo