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

Code

 > 

E-Mail / Messagerie

 > ENVOI D'UN MAIL AU FORMAT HTML AVEC POSSIBLITÉ D'UTILISER LES FICHIERS JOINTS DANS LE CORPS DU MESSAGE (IMAGES, FLASH, ... ) [TYPE-MIME, MULTIPART/RELATED]

ENVOI D'UN MAIL AU FORMAT HTML AVEC POSSIBLITÉ D'UTILISER LES FICHIERS JOINTS DANS LE CORPS DU MESSAGE (IMAGES, FLASH, ... ) [TYPE-MIME, MULTIPART/RELATED]


 Information sur la source

Note :
9,89 / 10 - par 9 personnes
9,89 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :E-Mail / Messagerie Classé sous :mail, multipart, mimetype, image, html Niveau :Débutant Date de création :25/08/2005 Date de mise à jour :06/12/2005 18:21:22 Vu / téléchargé :32 443 / 70 027

Auteur : J_G

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

 Description

Cliquez pour voir la capture en taille normale
Bonjour,

Vous trouverez ici un code récurrant : "les mails avec fichiers joints"...
La nouveauté (peut-être), c'est que le fichier joint peut-être utilisé dans le corps HTML du message.
Le but de ce genre de mail est de contrer les gestionnaires de mails qui refusent de charger une image depuis une url...

TRES SIMPLE :
appel à la fonction htmlMessage() !!! Voir exemple.php dans le zip (ou ci-dessous)

Source

  • <?php
  • /***** EXEMPLE D'UTILISATION *****/
  • // la fonction htmlMessage() du zip
  • include "htmlMailing.php";
  • // définition du mail
  • $a = "votre.mail@ma.maison.net";
  • $from = "Wrom: EJGDGVCJVTLBXFGGMEPYOQK
  • $sujet = "Ceci est un essai pour voir si ça marche bien";
  • $noMIME = "Si tu lis ça, ton MUA est trop-vieux ;)";
  • //Définition d'un mail tout naze au format HTML
  • // avec des images incluses toutes bète !
  • $html = <<<EOT
  • <html>
  • <body>
  • <!-- inclure plein de fichiers, et plusieurs fois le même pour ce faire plaisir ;) -->
  • <div style="border: double 2px;"> Image 1 : <br /><img src="note3.gif" /></div><br />
  • <div style="border: double 2px;"> Image y'a c'est bô : <br /><img src="dali.jpg" /></div><br />
  • <div style="border: double 2px;"> re-Image 1 : <br /><img src="note3.gif" /></div><br />
  • </body>
  • </html>
  • EOT;
  • // appel de la fonction !!!!!! Et fin de l'exmple
  • htmlMailing($a,$sujet,$html,$noMIME,$from);
  • ?>
  • <html>
  • <head>
  • <title>Mail2</title>
  • </head>
  • <body>
  • <h1>Le mail est parti !!! ;)</h1>
  • bonne lectures à tous
  • J_G
  • </body>
  • </html>
<?php 
/***** EXEMPLE D'UTILISATION *****/

// la fonction htmlMessage() du zip
include "htmlMailing.php";

// définition du mail
$a = "votre.mail@ma.maison.net";
$from = "Wrom: EJGDGVCJVTLBXFGGMEPYOQK
$sujet = "Ceci est un essai pour voir si ça marche bien";
$noMIME = "Si tu lis ça, ton MUA est trop-vieux ;)";

//Définition d'un mail tout naze au format HTML
// avec des images incluses toutes bète !
$html = <<<EOT
<html>
  <body>
<!-- inclure plein de fichiers, et plusieurs fois le même pour ce faire plaisir ;) -->
<div style="border: double 2px;"> Image 1 : <br /><img src="note3.gif" /></div><br />
<div style="border: double 2px;"> Image y'a c'est bô : <br /><img src="dali.jpg" /></div><br />
<div style="border: double 2px;"> re-Image 1 : <br /><img src="note3.gif" /></div><br />    
  </body>
</html>
EOT;

// appel de la fonction !!!!!! Et fin de l'exmple
htmlMailing($a,$sujet,$html,$noMIME,$from);

?>
<html>
<head>
       <title>Mail2</title>
</head>
<body>
<h1>Le mail est parti !!! ;)</h1>
bonne lectures à tous
J_G
</body>
</html>

 Conclusion

Voila, Y'a plein de commentaires dans htmlMailing.php

On peu inclure plein de fichier, et plusieur fois le même... Bien sûr il ne sera pas joints 15 fois !!!

Ca fonctionne avec la fonction mail() de PHP. Donc vérifier la configuration de votre hébergement.

Lachez vous sur les commentaires !!!


A+

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

25 août 2005 00:59:18 :
Hortaugraffe : "science des imbélices...;)"
25 août 2005 01:13:35 :
Prise en compte de la remarque de JoJo. C'est vrai que le code est plus mieux bô comme ça Par contre, j'ai pas testé... Ca sent l'erreur syntaxique à plein nez!
25 août 2005 01:35:50 :
* J'avais oublié d'enlever ma ligne de débuggage en fin de script * J'ai rajouté l'image de l'exemple dans le script * Testé les modif initiées par JoJo Tout est bon !
12 octobre 2005 22:15:37 :
Sous la pression... J'ai transformé mon code "tuturiel" en une fonction "clef en main". (PS : n'abusez pas du Spam... C'est mâââââl !)
06 décembre 2005 18:21:23 :
UPDATE => détection automatique du type mime des fichiers joints via la fonction PHP mime__contents_type() BUGFIX => Dans exemple.php correction du include 'htmlMessage.php' en include 'htmlMailling.php'.... ENFIN ! Bon, j'ai pas le temps de tester, alors il devrait certainement y avoir des erreurs A+

 Sources du même auteur

Source avec Zip TRANSFORMER UN TABLEAU PHP EN TABLEAU JAVASCRIPT
Source avec Zip Source avec une capture SAUVEGARDEZ VOTRE BASE DE DONNÉES (MYSQL) AUX FORMATS CSV ET...
RECHERCHE PAR MOTS CLEFS - DÉCOUPAGE D'UNE PHRASE EN MOTS - ...

 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 ENVOIE MAIL EN HTML AVEC PHP PAS DE SPAM SUR HOTMAIL ET GMAI... par Dje33
GÉNÉRATEUR HTML DE MAP POUR IMAGE CLIQUABLE par 8Tnerolf8
MAIL EN HTML par miata
Source avec Zip CLASSE PHP PERMETTANT D'ENVOYER UN MAIL À PARTIR D'UN TEXTE ... par toutou78
ENVOIE D'UN MAIL AU FORMAT HTML AVEC PLUSIEURS PIECES JOINTE... par dartaloufe

Commentaires et avis

Commentaire de JoJo738 le 25/08/2005 00:57:18

Wouaw ! Voila un code !!!
Bon, ca pourait être mieux ... $var = ''; et non $var = ""; et les <br> => <br />
Enfin, voila une source dont je suis sur d'utilisé !

Commentaire de J_G le 25/08/2005 01:01:57

Bonnes remarques JoJo...

Mais ATTENTION !!!
entre guillemets simples, Apache n'anlyse pas les '\n' comme des sauts de ligne (enfin pas toujours)

Sinon, t'as raison

Commentaire de JoJo738 le 25/08/2005 01:22:19

Au faite, sous FireFox on a une alerte ^^ Qui nous demande si on veux lancer l'application cid:

Commentaire de J_G le 25/08/2005 01:24:24

Une dernière chose:

Il traine un
                echo nl2br($message);
en fin de source...
C'est bien sur une commande de débuggage.

Virez-moi cette relique !

Commentaire de JoJo738 le 25/08/2005 01:26:43

Alors ca fonctionne ^^
mais par contre je voulais poster ici la source amelioré ... mais tu m'as dvancé !! Bon, j'adore et c'est déjà intégré dans mes scripts

Commentaire de J_G le 25/08/2005 01:26:54

J'utilise FireFox...

Question : Tu as ton serveur Apache en local ?
Et sinon, ça envoi bien le mail ? (Et le reçois-tu tout bien ???)

Commentaire de JoJo738 le 25/08/2005 01:31:17

Euh, j'ai WAMP5 donc oui en local ^^
Oui apres un bidouillage du php.ini avec SMTP ca fonctione bien et je recois :D Et c'est MAGNIFIQUE !! (De plus j'aime bien l'image :D)

Commentaire de Ze_doctor le 25/08/2005 11:31:16

salut tout le monde, je suis un pur noob dans le php, un debutant est meilleur que moi a ca ...
J ai juste une question, j ai placé le php et le jpg dans un dossier sur un de mes sites et j ai une page blanches, rien ne s affiche, quelqu un pourrait m aiguiller s il vous plait, merci =)

Commentaire de xeonxeon le 12/10/2005 19:56:59

Bonjour,

C'est pareil. Une fois qu'on a le script, comment faut-il faire pour l'utiliser ?

Merci

Commentaire de J_G le 12/10/2005 20:05:46

"Une fois qu'on a le script, comment faut-il faire pour l'utiliser ?"

Bon d'accord, ne bougez pas de trop, je vais transformer ce code en une fonction facile à utiliser !!!

I'll be Back in some minutes...

Commentaire de J_G le 12/10/2005 22:21:13

Voilà...

Bon, y'a une erreur ici:
$from = "Wrom: EJGDGVCJVTLBXFGGMEPYOQK

Je ne sais pas ce qui s'est passé !?! J'avais écrit :
$from = "from: expedidteur@fictif.com";

Mis à part ça... Régalez-vous !

Commentaire de JustBeBob le 17/10/2005 12:32:43

Merci J_G,
Ce code m'est trés précieux car polyvalent, est surtout trés court.
Par contre petite erreur au niveau de ton include de "htmlMailing.php",
dans exemple.php tu as mis : include "htmlMessage.php";

Le code ci-dessous permet d'éviter un "X" à la place des caractères spéciaux dans le sujet du mail relevés avec le POP3 de certains hébergeurs (par exemple oxito.com).

$tab_avant = array("/é/", "/è/", "/ê/", "/ë/", "/à/", "/â/", "/ä/", "/ç/", "/î/", "/ï/", "/ô/", "/'/", "/!/", "/ /");
$tab_apres = array("=E9", "=E8", "=EA", "=EB", "=E0", "=E2", "=E4", "=E7", "=EE", "=EF", "=F4", "=B4", "=21", "=A0");
$sujet = preg_replace($tab_avant, $tab_apres, $sujet);
$sujet = "=?iso-8859-1?Q?".$sujet."?=";

Merci encore d'avoir partagé cette source avec nous

Alex ;)

Commentaire de thierryvardon le 24/10/2005 16:41:29

Moi j'ai un probleme, les images ne s'affichent pas dans le mail ! !
Elle sont bien présentes en piece jointe mais le corp du mail affiche des liens brisés à la place des images.

En regardant l'entete je vois que les image ont une id ...@monserveur.com mais l'id du message est différent du type ...qmail@monherbegeur.net.com

Galère
c'est un serveur dédié.

y a t'il un additional_headers ajoutable pour mettre un bon id de message ou est-ce un autre problem ?

Commentaire de J_G le 24/10/2005 19:12:39

Salut thierryvardon...

Tu me dis que tu te galère !?!
>>>
En regardant l'entete je vois que les image ont une id ...@monserveur.com mais l'id du message est différent du type ...qmail@monherbegeur.net.com
<<<

Je ne comprend pas trop l'histoire d'ID avec le message...

Oui les images ont un ID, qui sera rapelé ensuite dans l'attribut src="cid:...". Mais les messages (Le message ! Le Mail ?) n'ont pas d'ID... Ou alors tu confons avec ce que j'ai appelé $boundary ?

$boundary est une frontière (mot-à-mot) qui sépare les parties du message.

Je pense que tu n'arrice pas à afficher tes images car ton MUA (Logiciel de mail) fait le difficle : les image sont incluses dans un format "standard-bidon" : octet/stream. Une vrai image est incluse en image/jpeg ou image/gif ou ... J'ai usé de octet/stream pour ne pas avoir à différentier selon le type de l'image.

Bref mon script à deux gros défaut jusqu'ici :
* Cette histoire d'octet/stream
* Si tu inclues des élément non images mais qui utilise l'attribut src... Attention!

Commentaire de thierryvardon le 24/10/2005 19:25:46

Ben je n'ai pas touché le script je test just car j'aime beaucoup la simplicité d'utilisation mais bon mozilla pc n'aime pas et outlook mac non plus.

Mais je pense que c'est un probleme de serveur j'ai essayé sur ovh et sur un dédier mais cela ne marche pas ?? mais je ne comprend pas tout semble bien.

suffit d'essayer
http://tresympa.com/tools/mail/exemple.php

Commentaire de xeonxeon le 25/10/2005 07:14:44

Bonjour et merci beaucoup,

J'ai testé et ça marche.

Juste une question : Peut-on envoyer un mail à plusieurs personnes en même temps ?

Merci

Commentaire de thierryvardon le 25/10/2005 08:26:48

En effet ça marche avec outlook pc
Je vais essayer de le rendre compatible avec mozilla ..

Commentaire de J_G le 25/10/2005 09:44:33

Bonjour tout le monde,

Merci de vos gentils commentaires sur cette source...

Quelques précisions :
* mozilla pc n'aime pas
>>> thunderbird ?
Je l'ai uniquement  testé sous Gmail !!

* Peut-on envoyer un mail à plusieurs personnes en même temps ?
>>> Cette fonction à un comportement similaire à mail()
(elle appelle mail une fois)
Donc pour envoyer plusieur mail, faire comme si vous deviez les envoyer avec mail().


A+

Commentaire de xeonxeon le 25/10/2005 09:47:23

Je suis débutant
Que veux-tu dire par "faire comme si vous deviez les envoyer avec mail()." ?

Commentaire de J_G le 25/10/2005 09:47:47

ThierryVardon =>
Préviends moi si tu arrives à le rendre compatible avec ThunderBird
(envoi la source par message perso et je mettrai à jour le ZIP)

Merci !

Commentaire de gondo9999 le 27/10/2005 17:16:56

merci pour ce code qui fonctionne avec des img
mais je n'arrive pas a inclure une séquence flash
est-ce normal

gondo

Commentaire de thierryvardon le 28/10/2005 01:06:30

Les logiciels de mail ne lisent pas le flash (dommage)

Impossible de trouver pourquoi ça ne marche pas avec mozilla ni mail ???
Le lien reste cassé même après deux jours de comparaison avec un qui marche (généré par mozilla) on a beau modifiez temps et plus le mail généré par le script pour qu'il resemble point pour point rien a faire...

Commentaire de J_G le 28/10/2005 11:51:58

"Les logiciels de mail ne lisent pas le flash (dommage)"

!?! certaine boîte devrait !?!

En fait les boîtes-à-mail en ligne, genre Gmail, yahoo, hotmail...
Car la lecture du flash requière le plugin de macro-media. Or peut de MUA autorise l'ajout de plugins. (Mais Thunderbird fontionnant avec Mozilla, li devrait les lire!!!)

Les flash sont inséré comme le reste, par une source
<embed type="application/x-shockwave-flash"  
       puginspage="http://www.macromedia.com/go/getflashplayer"
       src="/_userfiles/Flash/pouet.swf">
</embed>


Bref je vais faire des essais (pas vraiment le temps en cemoment alors ne vous attendez pas à une forte réactivité)

A+

Commentaire de malalam le 28/10/2005 11:58:24 administrateur CS

Hello :-)

j'ai la flemme de mater le code, là (et puis j'ai guère le temps en fait...)
Il sont générés avec quoi, les mails ? html ?
Et les images, affichées comment dans le corps du mail ?

En tous cas, vu l'enthousiasme général, ça a l'air bien ton code :-) Je le testerai dès que j'en aurai le temps!

Commentaire de J_G le 28/10/2005 14:43:52

salut malalam,
que me vaut tout ce sépticisme...
(t'es plus admin ?)

>> Il sont générés avec quoi, les mails ?
???
Euh, envoyés par la fonction mail()...
générés... ben... testuellement !
(comprend pas la question, désol')


>> html ?
oui, c'est le but (t'as déjà joint des images à un mail au format plain/text


>> Et les images, affichées comment dans le corps du mail ?"
jointes au mail
PUIS affichées dans le corps du message
A PARTIR des pièces jointes

Par contre, il semble y avoir des problème avec la jointure de Flash!!!

A+

Commentaire de malalam le 28/10/2005 14:53:12 administrateur CS

Chuis pas sceptique, lol, je me demande juste pourquoi les images ne sont parfois pas interprétées.

Si suis tjrs admin, ça doit pas apparaître dans les commentaires de codes.

Pour flash, faut utiliser le plugin, et l'appel est différent entre firefox et ie si mes souvenirs sont bons, nan ?

Commentaire de J_G le 28/10/2005 15:04:43

Après une petite visite du Ouaib, pas de problème pour joindre un flash (*.swf) au mail puis l'inclure dans le message HTML (src="cid:...").

MAIS

Il faut le plugin...  (pas de pb entre IE et FireFox! pour une fois ;) c'est le plugin qui gère)

Commentaire de thierryvardon le 29/10/2005 12:57:39

Jaime beaucoup ce code vraiment un must d'efficacité on fait une page html et la petite fonction s'occupe de tout et d'une manière compréensible !

Le problème comment se contenter d'un script qui ne va pas marcher pour une partie des utilisateurs genre quand meme tous ceux issus de netscape (firefox, mozilla, netscape, aol, et tous les mac).

Moi je sèche la raison doit être toute simple mais j'ai pas trouvé !

Je sais par exemple que pour qu'un mail html marche sur mail de osX mac le boundary doit avoir une forme particulière du genre
boundary="--54545"
--54545
blalbla
--54545--

Sans les -- de fin cela ne s'affiche pas

c'est con et surtout c'est long à trouvé pourquoi.

Pour mozilla quand on génère un mail html avec mozilla luimême.
il y a plusieurs boudary encadrantes du type

boundary="--0000"
--0000
l'entete
boundary="---11111"
---11111
le corp du sagemé
---11111
les jointes
---11111
--0000

mais en essayant de l'imiter cela ne suffi pas à ce que les images s'affiches il tente de les afficher mais en vain !

comprend pas
pourtant j'aimerais bien utiliser ce script pour l'intant je me contante de html relatif (images sur serveur) avec les problèmes de mise en spasm que cela implique...

Commentaire de thierryvardon le 29/10/2005 13:06:48

Ha oui aussi pour les mails contenant du flash je serais curieux de voir ça moi j'ai jamais vu un client mail l'acepter.

Quant a yahoo, hotmail et les gestionnaires de mail en ligne ce ne sont pas des client mail les mail sont transformé en pages html alors pas étonnant que tout marche avec ça flash et "cid:" mais entre nous dans ces cas la ca sert à quoi de joindre des images et des flash pour les lires en pages web.

si c'est un "passeur d'anti spam" que vous cherchez ne vous embètez pas à faire un "images jointes" il suffit de coder en base64 tout le mail html et les spasmeur ne verront pas le code html et laisseront passer vos mails.

Commentaire de dfeprod le 09/11/2005 18:45:41

marche pas le code j'ai l'erreur suivante Parse error: parse error, unexpected T_SL
quelle erreur j'ai pu faire ????
dans la balise $html peux ton mettre le résultat d'une page php. genre j'ai une fiche produit qui s'affiche depuis une base de donnée avec des photos et je veux l'envoyer par mail c'est possible avec cette fonction

Commentaire de J_G le 09/11/2005 18:55:59

"Peut-on mettre le résultat d'une page PHP ?"
=> Pas de problème si tu arrive à "capter" ce résultat...
Par exemple, tu veux envoyer le resultat de 'page.php' :

<?php  // page.php
ob_start();

/* Tout ce que tu veux ici... html compris */

return ob_get_clean();
?>

Et tu récupère le texte généré par page.php ainsi :
$html = include 'page.php';


"unexpected T_SL"
=> ??? Jamais vu ce code d'erreur ??? ... Quelle est la ligne où  ça arrive ? (PS envoi moi la ligne en question plutôt que son numéro)

A+

Commentaire de dfeprod le 09/11/2005 19:33:12

c'est quoi return ob_get_clean(); et ob_start();
je connais pas mais merci pour la soluce

Commentaire de dfeprod le 09/11/2005 20:22:25

c'est tout simplement génial j'ai toutes la fiche produit mis en page dans mon mail c'est ce que je voulais sans refaire une page formaté
merci

Commentaire de endok le 02/12/2005 12:10:14

Bonjour je voudrais savoir un peu comment c marche j'ai des notions ne html mais pas en php, jai un gif animé : carte.gif que je voudrais envoyé par mail, comment puis je faire pour lenvoyer avec les fichier donné dans le fichier .zip Merci :)

Commentaire de J_G le 02/12/2005 12:38:00

Bonjour Endok,


Tu me dis ça :
<<
j'ai des notions en html mais pas en php
>>
Aie!
Sais tu déjà faire tourner du PHP sur ton ordi ? Parce que sinon, il serai bien trop long de t'en expliquer le principe ici, et des milliers de gens le font déjà très très bien sur le net. Pour ça, mets ma petite fonction de coté et cours vite lire des tutoriaux sur PHP.

Quand tu sauras faire tourner PHP et construire de petites pages Web avec, il faut que tu arrives à envoyer un mail via la fonction mail().  Cette fonction fait partie de l'API de PHP. (Si tu ne comprends pas ce charabia, demande de l'aide à un ami informaticien)

Ensuite, remplace simplement l'appel à mail par la fonction du Zip...


Voilà, je crois que tu as du pain sur la planche.
Alors bon appétit

Commentaire de endok le 06/12/2005 17:38:46

Bonjour avec ce code quand j'envoie un gif sur mac il se lis pas, l'image s'affiche mais sans l'animation si quelqu'un avec un autre code pour ca je suis preneur ;)
Merci

Commentaire de J_G le 06/12/2005 18:08:29

Aucune idée du fonctionnement des GIF sous mac !
Par contre, je sais comment améliorer mon code...

Bouge pas, ça arrive sous-peu

POUR PATIENTER... PETITE EXPLICATION DU PROBLEME :
J'ai eu la flemme de détecter le type des images envoyées. Ainsi, les fichiers joint au message sont assimilés comme des paquets d'octets (brut de brut).

c'est ici => Content-Type: application/stream;

POUR BIEN FAIRE :
Ce "Content-Type" détermine l'objet des octets qui suivent
Une image devrait être identifiée par

Content-Type: image/jpeg;
Content-Type: image/bmp;
Content-Type: image/png;
Content-Type: image/gif;
...


Tu comprends le problème...
Il suffisait d'utiliser la fonction mime_content_type(). Mais je ne la connaisait pas encore...

Commentaire de endok le 06/12/2005 18:11:50

Pourrais tu le modifier ds ton fichier zip :) Car je suis po un as du php jai decouvert commetn envoyé le truc je suis déjà content :)
Donc avec ton code le gif marchera ?
Merci beaucoup

Commentaire de J_G le 06/12/2005 18:29:29

Je ne garanti pas que ça marche...

Commentaire de endok le 06/12/2005 18:33:47

Ok sur pc je pense que ca peut marcher c pour un client il est sur LOTUS je connais pas du tout ce soft ;)

Commentaire de tom le 31/12/2005 15:37:28 administrateur CS

Salut,

J'ai voulu faire un envoi d'une carte flash avec un serveur free, en forcant le content/type avec "application/x-shockwave-flash" (format flash, quoi), et il me dit que le 5eme element ne peut etre envoyé. J'ai essayé sur plusieurs serveurs qui me disent que le safe-mode empeche le passage du dernier parametre de la fonction mail()...
Je suis une quiche, mais que faut-il regler?

Commentaire de J_G le 31/12/2005 15:44:30

dans la fonction, je fais un appel de la fonction mail avec les 5 paramètres... Enlève le 5ème.


Par contre, il parrait que la lecture des flash dans les mails est très peu implémenté par les "logiciel à mail". En cette période de fête, on peut toujours réver :=)

Commentaire de tom le 31/12/2005 15:45:31 administrateur CS

Je vais bien voir, merci pour cette réaction, un 31 decembre ^^

Commentaire de tom le 31/12/2005 17:03:46 administrateur CS

Ok, 'a y est!

Au fait j'ai rajouté ces 3 dernieres ligne pour pouvoir lire sans probleme le NO MIME dans un imp.

    // Et BOUM!!! Le message :
    $message = $textMessage.NL.NL; //au cas où le navigateur ne sache pas lire les types MIME

// >> c'est ce qui suit que j'ai rajouté:
    $message.= '--'.$boundary.NL; // frontière
    $message.= 'Content-Type: text/plain;'.NL.'charset="iso-8859-1"'.NL.'Content-Transfer-Encoding: quoted-printable'.NL.NL;
    $message.= $textMessage.NL.NL;

Commentaire de SpOrTiF le 17/01/2006 22:09:06

Tres bien, 10/10; sauf que le 5iemes parametres ne marche pas.

pat

Commentaire de J_G le 18/01/2006 19:40:44

Merci pour la note.

Tu as raison concernant le 5ième paramètre : il y'a encore des erreurs dans ce code.

Depuis, je l'ai ré-actualisé.
* correction de deux trois bug
* amélioration de la RegExp pour trouver plus d'images (background, input, CSS,...)
* puis peut-être d'autre trucs dont je ne me souvient plus.

Si trois personnes me dise "je veux je veux!" => je mets cette nouvelle version en ligne.

A+ bande de codeurs fous !

Commentaire de zetomtom le 08/02/2006 10:37:03

Je veux je veux !!!
(lol)

Excellente source, s'il ya des améliorations je prends !!!!!!!

++

Commentaire de Scepo le 10/02/2006 17:40:05

--> xeonxeon :
Oui tu peu envoyer a plusieur personne en même temps,
il faut juste dans le $From, mettre plusieurs adresses e-mail ou plusieurs variable contenant des adresses mail et les séparer par des virgules.
ex: $From = "From mon@adresse.ch,ton@addr.com,son@addr.net";

Bonne prog.

Scepanovic Srdjan

Commentaire de chrisbridge le 02/08/2006 10:29:50

je veux je veux (bis) !!!

super code. si tu pouvais mettre en ligne ta dernière version, ce serait génial.

En tout cas, bravo pour le code.

Chris

Commentaire de J_G le 02/08/2006 10:37:52

... Merci pour le commentaire ...

J'espere qu'il n'y aura pas de troisieme "je veux je veux" car je serais un peu dans le caca! Ch'uis loin de chez moi la.

M'enfin, dans ce cas, je devrais bien sur tenir mes engagements...

A+

Commentaire de ojeffd le 08/08/2006 16:45:22

et bien moi aussi j'en veux j'en veux du script avec gestion de plus d'images je prends ;p

Super source en tous les cas

@++

Commentaire de J_G le 09/08/2006 14:20:16

Salut, merci pour vos commentaire...

donc je suis allé voir sur le FTP du dernier site utilisant cette source. La fonction a bien changée !!! En voici les changements :

* La fonction n'appelle plus directement 'mail' mais retourne un tableau de 2 elements comprenant le message et les entetes necessaires
=> Pas tres propre, mais cela permet plus de mieux controler l'envoi des messages (post modification?)

* L'expression reguliere a changée, desormais en plus de l'attributs 'src', l'expression chope le 'url' d'un CSS en ligne...
=> donc, on peut jouer avec les images d'arriere plan !

* On peut definir un chemin de recherche pour les fichiers a inclure
=> ce qui permet un adressage relatif


Mais, je crois que la source est moins propre car je l'ai fait dans l'urgence...
Enfin, je fais le ZIP... A suivre sous peu (qques heures au moins)

A+

Commentaire de padaben le 09/08/2006 17:15:23

Salut Salut !
voilà maintenant plus d'une semaine que je me prend la tete sur l'envoi de mail en html avec image de fond en php.

apres avoir utilisé de multiples sources du oueb, je suis proche de la fin, mais toujours une erreur quelque part, l'image ne se met pas en fond, je l'ai en fichier joint et j'obtiens
[Content-Type: text/html; charset="iso-8859-1" Content-Type: multipart/mixed; boundary="-----=4f6cc13bd1c726acd19cd34820ce0436" ] à la place de mon contenu.

je débute, je voudrais quand meme savoir ou est mon erreur, et je vois que sur ce post , il y a pas mal de gens qui s'y conaissent.

J_G, si tu peux éventuellement m'aider, peut etre saura tu trouver rapidement mon/mes erreurs.

voilà mon code ( je me permet de le poster ici...)
[PHP]
// déclaration des variables

$reponse = "info@site.com";
$mailclient = $mail;
$frontiere = '-----=' . md5(uniqid(mt_rand()));
$fond = "images/mail.jpg";
$sujet ='Demande d informations';

  

$headers ='From: "site"<'.$reponse.'>'."\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/related; boundary=\"$frontiere\"";
$headers .='Reply-To: <'.$reponse.'>'."\n";
$message  = "Ceci est un message au format MIME 1.0 multipart/mixed.\n\n";
   $message .= "--" . $frontiere . "\n";
   $message .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";


// Récupération du fichier fond
$file_id  = md5( uniqid ( rand() ) ) . $_SERVER['SERVER_NAME'];

$fimg = fopen($fond, "rb");
$attache = fread($fimg, filesize($fond));
fclose($fimg);


// Message
$content_encode = chunk_split(base64_encode($attache));
$message .= "\n";
$message .= 'Content-Type: text/html; charset="iso-8859-1"'."\n";
$message .= 'Content-Type: multipart/mixed; boundary="'.$frontiere.'"';

$contenu = "
Confirmation du mail de demande de devis
";
// fin du contenu client

$message .= "\n\n";
$message .= "--" . $frontiere . "\n";
$message .= "Content-Type: image/jpg; name=\"images\mail.jpg\"\n";
$message .= "Content-Transfer-Encoding: base64\n";
$message .= "Content-ID: <$file_id>\n\n";
$message .= $content_encode . "\n";
$message .= "\n\n";
$message .= "--" . $frontiere. "--\n";


// envoi des mails
$envoi = mail($mailclient,$sujet,$message,$headers);
}
[/PHP]
voilà si toutefois J_G ou d'aurtres peuvent m'aider...
J_G j'ai regardé ton script, il est super complet, je suis sur de m'en servir tres prochainement...

Merci de votre aide !
et encore merci pour ce script !!

PBen

Commentaire de padaben le 11/08/2006 18:16:49

Salut !! HELP HELP !

Allez, silvouplé, y'a bien quelqu'un pour me dépanner!!
je ne m'en sors pas !!

Merci ! je sature là, un oeil neuf ne serait pas de refus!

Pben

Commentaire de thierryvardon le 23/08/2006 11:20:14

Pas trop le temps de rentrer dans ton code mais ta essayé le background en css ?

J'en ai choppé un chez microsoft et nétoyé le script si ça peut t'être utile perso je le trouve top

http://www.finety.com/plusbelle.html


Thierry
FINETY.COM

Commentaire de Le Prince Dragon le 02/09/2006 15:02:45

c'est bien

Commentaire de padaben le 02/09/2006 15:44:37

Thierry ,oui j'ai essayé le background en CSS, ca n'avait pas fonctionné, si tu as une url pour crosoft , ca serait bien :)

Merci

Pben

Commentaire de rob85 le 29/10/2006 22:54:49

Terrible la source !!
Un grand merci !

Bonne continuation,
   Rob.

Commentaire de totor2027 le 28/02/2007 17:49:40

merci pour cette source bien utile.

je reviens sur je veux je veux, en faite je veux bien l'expréssion régulière qui permet de lister les images des css....

ou la mise mise à jour de cette source.

merci encore pour le travail effectué. 10/10

bonne continuation.

Commentaire de totor2027 le 28/02/2007 17:50:11

merci pour cette source bien utile.

je reviens sur je veux je veux, en faite je veux bien l'expréssion régulière qui permet de lister les images des css....

ou la mise mise à jour de cette source.

merci encore pour le travail effectué. 10/10

bonne continuation.

Commentaire de J_G le 28/02/2007 18:24:26

Bonjour à tous,

Ca fait bien longtemps que je ne suis plus venu sur ce site... (qques mois). Et je dois avouer que j'ai perdu la dernière version de cette source. La fameuse mise à jour...

Désoler !!!

Cette source est trop lointaine pour moi, et je n'ai vraiment pas le temps de m'y consacrer à nouveau.

Encore une fois désoler...

Pour répondre à la dernière question, les image sont appelées dans le CSS via l'insertion:
    "url(htpp://qque-part.web/répertoire/image.truc);"
Donc je suppose que l'expression régulière doit ressembler à:
    "!url\s*+\(([^)]+)\)\s*;!i"

Par exemple, les CSS de ce cher site contiennent la ligne suivante :
    body, body.PrintMaster {background-image: url(/g/5/fdH1L200INV1D1BGDARK1.jpg); background-repeat: repeat-y;}
on y voit le fameux "url(...)"

J'espère répondre à ta question TOTOR2027... Et merci pour la note.

A+, et encore désolé pour ma lassitude à tenir mes promesses

PS : Les expressions régulières sont vraiment hideuses, barbares et hermétiques! Mais quelle économie de caractères...

Commentaire de totor2027 le 01/03/2007 09:30:24

merci à toi ;-)

Commentaire de docemmet le 23/03/2007 18:22:28

J'ai PHP 4.3.2 et j'ai une erreur avec la fonction mime_content_type

Qqun saurait comment la remplacer pour que ca fonctionne sur les nouvelles versions ?

Merci

Mathieu ;)

Commentaire de ptitboo le 01/04/2007 16:25:24

Bonjour,

- Active l'extenion mime_magic dans ton fichier php.ini (enlève le ";" devant l'intruction)
- Ensuite dans ce même fichier ajoute le chemin vers le fichier magic.mime (ex: mime_magic.magicfile="c:\php\extrats\magic.mime").

Avec ces deux modifications tu devrais pouvoir lancer l'exemple.

Cdlt,

Julie

Commentaire de lanner le 20/01/2008 15:39:42

ce qui n'est pas bien c'est que hotmail le met direct dans le courrier indésirable

Commentaire de kikced le 23/01/2009 11:34:26 10/10

La remise par hotmail dans les courriers indésirables ne dépend pas de cette source, mais du serveur à partir duquel tu envoi le mail qui doit correspondre à l'adresse 'domaine' du serveur...
(si tu envoi from:toto@tuutu.com à partir d'un domaine 'rintintin.fr'....)
Sinon, pas de concordance et hop ! Considéré par hotmail comme spam, voir par les autres aussi d'ailleurs!!

Sinon, pour ma part je trouve cette source excellente, même si je n'ai pas encore réussi à intégrer un background...
Je m'en suis servi pour envoyer une newsletter à partir de flash et ça marche trop mortel!!
Merci encore.

PS: si quelqu'un à des précisions pour les backgrounds et les swf, je suis preneur car je n'es pas très bien suivi les posts qui sont en plus très anciens..

Commentaire de alise le 22/11/2009 14:20:02

Kikced, je pensais aussi m'en servie à partir de Flash justement, pas prob particuliers ?

Par contre je suis une grosse bille en php, il me faut à partir de l'interface, pouvoir envoyer le message en offrant la possibilité de pouvoir saisir 5 email différents?

Ca se passe comment du côté php ?

Merci pour vos réponses

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

de l'HTML avec mail() ? [ par Drazounet ] Salut à tous J'essaie actuellement de faire un petit programme de mailing en PHP à l'aide de la fonction mail().Mais, lorsque j'essaie d'intégrer une Problème de transfert d'image pendant un upload de fichier html par mail() [ par JeanMi66 ] Salut &#224; tous. J'envoi par la fonction mail() un fichier html contenant du texte et des images. Le fichier figure sur le serveur, les images auss Mail HTML avec image en PJ [ par Shenron42000 ] Bonjour,Voila, ca fait plusieurs jours que je planche dessus et pas moyen d'y arriver.Le script à pour but de récupérer le code HTML qui provient d'un Mail avec Image [ par DarkCid ] Yaoh !Je sais comment envoyer un mail tout con, sa y a pas de problème (enfin en théorie). Seulement je dois envoyer des mails publicitaires (aux pers MAIl [ par GADSN ] bjr,bon voila jai un probleme avec mon site lors de l'envoie d'un e-mail (format html) je reçoit ceuci:Bonjour which Content-Transfer-Encoding: Transmission d'une variable d'un script PHP --> mail HTML --> PHP possible ? [ par JeanMi66 ] Bonjour ! Voici mon probl&#232;me: un script PHP (envoi.php) envoi gr&#226;ce &#224; la fonction mail() une page HTML vers une adresse e-mail. J'ouvr Re : Envoi de mail avec php [URGENT] [ par hasen ] Bonjour a tous!Désolé de revenir avec ce sujet, mais il faut a tout prix que je resolve mon probleme!!!Alors voila, sur le site que je suis en train d Mail HTML --> problème bizarre ... [ par chamallow ] Bonjour,Je sais qu'il n'y a pas longtemps, une question similaire a été posée, notamment sur les entêtes mais je n'arrive plus à mettre la main dessus problème avec fckeditor [ par sahliali ] salutj'ai utilisé la class phpmailer avec l'editeur fckeditor pour envoyer un mail.j'ai eu comme problème dans la boite mail lorsque j'envoi un mail a Un mail depuis une page HTML [ par ghostkill77 ] Bonsoir tout le monde ! J'ai une petite question: je souhaiterais créer une page web qui permet d'envoyer un mail directement depuis celle -ci. J'ai d


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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,749 sec (3)

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