Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1271 connectés 

  FORUM HardWare.fr
  Programmation

  [PHP] comment inserer des images dans un mail?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] comment inserer des images dans un mail?

n°90304
IvanleFou
Posté le 17-01-2002 à 16:13:32  profilanswer
 

j'utilise la fonction mail() en PHP pour envoyer des mails. Le texte du mail je le defini comme ca: $contenu="abcd...";
 
Comment je peux rajouuter des sauts de lignes et des images dans le contenu du mail?

mood
Publicité
Posté le 17-01-2002 à 16:13:32  profilanswer
 

n°90351
Je@nb
Kindly give dime
Posté le 17-01-2002 à 17:18:50  profilanswer
 

ton mail aura cette aspect :
$headers .="From:moi@moi.com\n";
$headers .="Content-Type: text/html; charset=iso-8859-1\n";
$text .= "<html><body>
<center><img src='monimage.gif'><br>
</body></html>";
 
mail("destinataire@destinataire.com","Objet","$text",
"$headers" );

n°90381
IvanleFou
Posté le 17-01-2002 à 19:03:04  profilanswer
 

ah d'accord, on peut inserer du code html ds le mail.
 
Pkoi tu mets tjs ".=" ?

n°90414
Je@nb
Kindly give dime
Posté le 17-01-2002 à 20:40:00  profilanswer
 

.= est l'affectation ajouté, par exemple tu as une variable
$a = 'a';
en faisait $a .= 'b'; ça correspond àa faire $a = $a.'b';
pour faire du HTML, il faut mettre le content-type text/html et le charset

n°90497
IvanleFou
Posté le 18-01-2002 à 01:02:45  profilanswer
 

oki merci :jap:

n°90613
darkoli
Le Petit Dinosaure Bleu
Posté le 18-01-2002 à 11:14:40  profilanswer
 

Je@nb a écrit a écrit :

.= est l'affectation ajouté, par exemple tu as une variable
$a = 'a';
en faisait $a .= 'b'; ça correspond àa faire $a = $a.'b';
pour faire du HTML, il faut mettre le content-type text/html et le charset  




 
C'est le += de c/c++ si j'ai bien compris.

n°90617
potiron
...
Posté le 18-01-2002 à 11:19:56  profilanswer
 

he ben tu es mal barré si tu penses faire voyager une image comme ca  :lol:  
 
chaque FICHIER (donc aussi image) doit etre encodé en base 64 !
voici un script que j'ai fait pour une mailing liste, tu as meme droit a toutes mes explications + remarquescar il vient de la partie apprentissage de mon DD  ;) :
 

Citation :


<?php
$destinataire="lol1@netcourrier.com";
$from="lolo";
$sujet="sujet";
$img_dep="E:/Mes Documents/web/sites/guylaine/img/p_cube.gif";
$body="Voici le texte du mail :)\n\n";
 
 
$limite1= "-----=".md5(uniqid (rand())); // pourquoi ca ?????
// j'ai fait test et mis un texte bidon a la place des 3 fonctions et ca fonctionne ...... dans outlook en tout cas !!
 
 
// -- HEADERS GENERAUX --
$header_gen="MIME-Version: 1.0\n";  
$header_gen.="Content-Type: multipart/mixed;boundary=\"$limite1\"\n\n"; // header exprimant un mail ayant des multiples headers differents -> des contenues de type differents !!
$header_gen.="\n"; // toujours rajouter une ligne vide apres entete !!!!
 
 
// -- HEADERS TEXTE + CONTENUE --
$body_texte.="--$limite1\n";  
$body_texte.="Content-Type: text/plain; charset=\"iso-8859-1\"\n";  
$body_texte.="Content-Transfer-Encoding:8bit\n";  
$body_texte.="\n";  
$body_texte.="$body\n";  
$body_texte.="\n";  
 
 
// -- LECTURE DU FICHIER IMAGE + CONVERSION CONTENUE --
$open=fopen($img_dep,'r';); // ATTENTION : il peut etre obligatoire de rajouter "b" au mode -> sous windows UNIQUEMENT !!
$img=fread($open,filesize($img_dep));
$img=chunk_split(base64_encode($img));
fclose($open);
$nom_img=basename($img_dep);
 
 
// -- HEADERS FICHIERS + CONTENUE --
$body_img="--$limite1\n"; // début de la limite
// application/octet-stream -> sert pour n'importe quel contenue meme s'il est preferable d'etre precis !!
//$header_img.="Content-Type: application/octet-stream; name=\"$nom_img\"\n";
$body_img.="Content-Type: image/gif; name=\"$nom_img\"\n";
$body_img.="Content-Transfer-Encoding: base64\n";  
// a la place de ATTACHEMENT je peux mettre INLINE pour que le fichier image soit affiché dans le mail !
// ben merde, je viens de faire test et les 2 affiche quand meme l'image .... ?? serait ce a cause du Content-Type que j'ai mal definie ? -> NON
$body_img.="Content-Disposition: attachement; filename=\"$nom_img\"\n";  
$body_img.="\n";
$body_img.=$img."\n";
$body_img.="\n\n";
// bravo d'avoir fait ces 6 dernieres lignes mais est ce que je comprends quelque chose a ce que j'ai betement recopier ??!!!
 
 
// envoie d'un mail TXT + FICHIER  
mail($destinataire,$sujet,$body_texte.$body_img,$header_gen);  
 
 
 
/* --------- VOICI LA SOURCE COMPLETE DU MAIL ---------
 
Received: from frmta01.chello.fr (smtp.chello.fr [212.186.224.12])
 by netc-4v.grolier.fr (8.9.3+Sun/8.9.3) with ESMTP id XAA12469
 for <lol1@netcourrier.com>; Thu, 1 Nov 2001 23:49:19 +0100 (CET)
Received: from lolo ([XXXXXXXXXXXx]) by frmta01.chello.fr with SMTP
          id <20011101225023.MTKO27121.frmta01@lolo>
          for <lol1@netcourrier.com>; Thu, 1 Nov 2001 23:50:23 +0100
Date: Thu, 01 Nov 2001 23:39:34 -0100
From: lolo
Subject: sujet
To: lol1@netcourrier.com
MIME-Version: 1.0
Content-Type: multipart/mixed;boundary="-----=9b8d27151b93b2bfe2d393f0a205f952"
Message-Id: <20011101225023.MTKO27121.frmta01@lolo>
Status:    
X-Mmail: \Recent                                  
X-M-Uid: 0010317.1004654962
 
 
 
 
-------=9b8d27151b93b2bfe2d393f0a205f952
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding:8bit
 
Voici le texte du mail :)
 
 
 
-------=9b8d27151b93b2bfe2d393f0a205f952
Content-Type: image/gif; name="p_cube.gif"
Content-Transfer-Encoding: base64
Content-Disposition: attachement; filename="p_cube.gif"
 
R0lGODlhsQC0AMQAAABBXAWY1sTp+QBzpACCuRer6AJplQCNyC
 
 
i6+AB8sITS8g2l5QGRz2Gryg2f
3Baz9D/E+gFZgB2w7Qub1wWe3jmRtv////7//wAAAAAAAAAAAA
 
 
AAAAAAAAAAAAAAAAAAACH5BAAA
AAAALAAAAACxALQAAAX.........etc
 
-----------------------------------------------------------------
 
- */
 
// le principe est de rajouter un header + limite pour chaque type/format
?>

 

[edtdd]--Message édité par potiron--[/edtdd]

n°90620
potiron
...
Posté le 18-01-2002 à 11:27:54  profilanswer
 

tu seras gentil de modifier l'adresse email du destinataire pour tes tests  :heink:  :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [PHP] comment inserer des images dans un mail?

 

Sujets relatifs
Créer un ascenseur à l'intérieur d'une page html (pas de PHP)[PHP] Problèmes transmission variables et stockage de fichiers
envoyer un mail PREFORMATE en HTML[PHP] -> sécurité toute prete (session+cookie)
[PHP + MS SQL SERVER] : garder des 0 devant un nombre ....[VB]Envoyer un mail via VB !
[PHP]Gérer Login/Mot de Passe.Php, Perl, Java, C#, ASP.Net ...
[Serveur Web] IIS + Php/MysqlPHP vs ASP
Plus de sujets relatifs à : [PHP] comment inserer des images dans un mail?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR