Rechercher : dans
Par :

PHP comment mettre une image dans un mail ?

Dernière réponse le 15 mai 2008 à 21:57:20 Smoking bird, le 14 mai 2008 à 21:06:21 
 Signaler ce message aux modérateurs

Salut à tous!

Je code en PHP5 sur un hébergement de celeonet, et je m'essai à l'envoi de mails en html avec images incluses. Le mail html passe, mais pas l'image. Voici le code, qu'en dites vous? Comment puis je envoyer l'image?

$this->boundary=md5(uniqid(rand()));
echo $this->boundary."<br/>";
$this->header="";
$this->header.="From: Reprod <contacts@reprod.org>\n";
$this->header.="Reply-To: contacts@reprod.org\n";
$this->header.="MIME-version: 1.0\n";
$this->header.="Content-Type: multipart/mixed;
boundary=".$this->boundary."\n";

$this->html="\nThis is a multi-part message in MIME format.";
$this->html.="\n--".$this->boundary."\nContentType: text/html;
charset=\"iso-8859-1\"\n\n";
$this->html.="\n";
$this->html.="L'administrateur de Reprod a ouvert votre profil\n";
$this->html.="Vous pouvez vous connecter à l'adresse suivante: ";
$this->html.="http://www.url.com/\n";
$this->html.="Voici vos identifiants de connexion:\n";
$this->html.="Pseudo:".$this->pseudo;
$this->html.="\nCode:".$this->pass;
$this->html.="<img src=\"http://spheresoccultes.com/galerie/export_masque_femme.jpg\"/>\n";
$this->html.="\n--".$this->boundary;
$this->html.="\nContent-Type: image/jpeg; name=\"export_masque_femme.jpg\"";
$this->html.="\nContent-Transfer-Encoding: base64";
$this->html.="\nContent-Disposition: inline";
$this->html.="\n <base64 encoded data for the http://spheresoccultes.com/galerie/export_masque_femme.jpg image>";
$this->html.="\n";
$this->html.="\n--".$this->boundary."--\n end of multipart";


if( mail($this->mail,"Vous êtes inscrits à Reprod!",$this->html,$this->header) )
{
echo "Inscription notifiée";
}else{
echo "Mail raté";
}

}

Merci de votre patience et de votre aide :)

Configuration: Windows XP
Opera 9.27

Meilleures réponses pour « PHP comment mettre une image dans un mail ? » dans :
[PHP] Fonction mail() Voir La fonction mail() est bloquée chez certains des hébergeurs gratuits pour des raisons de sécurité (afin d'éviter le spam notamment), l'adresse ip de la machine qui a demandé le script sera alors indiquée dans le header 'X-MM-Mail-From-IP'. renseignez...
Insérer une image dans un mail Gmail en cours de composition VoirVoici une excellente méthode pour insérer des images dans vos e-mails Gmail. Résultat garanti ! Vu que vous avez un compte Gmail (puisque vous vous posez cette question) vous avez nécessairement accès à Google Documents. C'est le même compte...
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
PHP - Génération d'images VoirPrérequis PHP permet de créer des images au format GIF à l'aide d'une librairie de fonctions prévue à cet effet. La librairie permettant de créer et manipuler des fichiers graphiques se nomme GD, ainsi, pour pouvoir utiliser ces fonctions il faut...
PHP - Mail et fonctions réseau VoirPHP étant un langage consacré au Web, il possède bien évidemment des fonctions lui permettant de communiquer avec le "monde extérieur" à l'aide de fonctions standards. Le service le plus utilisé sur Internet étant la messagerie électronique, il est...
PHP - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...

1

Smoking bird, le 15 mai 2008 à 15:10:03

Up

Répondre à Smoking bird

2

Smoking bird, le 15 mai 2008 à 16:18:45

Up

Répondre à Smoking bird

3

Smoking bird, le 15 mai 2008 à 20:07:28

Up

Répondre à Smoking bird

4

hackzor44, le 15 mai 2008 à 20:37:40

Salut,
je dirai que ton

$this->header.="Content-Type: multipart/mixed; 

n'est pas bon. tu doit spécifier que c'est au format HTML.

Hackzor

Répondre à hackzor44

5

 Smoking bird, le 15 mai 2008 à 21:57:20

Salut ^^

Merci de prêter attention à mon soucis :)

J'ai établi mon Content-Type en suivant les instructions de cet article:

http://www.zend.com/zend/spotlight/sendmimeemailpart1.php

Mon premier Content-Type est donc multipart/mixed parce que le message est supposé intégrer du texte et une image, je n'ai pas le temps ce soir, mais j'essaierais ta suggestion et je te dirais quoi demain ;)

Répondre à Smoking bird
Collection CommentÇaMarche.net