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 :

Afficher une image dans un mail [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 15
    Points : 6
    Points
    6
    Par défaut Afficher une image dans un mail
    Bonjour,
    J'essaie d'envoyer un courriel avec la fonction mail de PHP. Je voudrais afficher un logo dans ce courriel sans avoir à le joindre au message. J'ai essayé de mettre le lien direct ver le logo dans "<img src:"http://...>" mais l'image ne s'affiche pas. J'aimerais donc solliciter votre aide pour fixer ce problème. Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    il faut en effet ajouter le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src:"http://..." />
    - avec le chemin complet vers l'image, qui doit être sur un serveur.
    - et un mail paramétré en "text/html"

    => Envoyer un mail en PHP -> 3.3. Mail format HTML

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Merci pour ta réponse rapide. J'ai fait comme tu le suggères mais l'image ne s'affiche pas, j'imagine que mon client de messagerie (lotus) bloque les images incorporées de la sorte. J'ai essayé de joindra le logo (inline attachement) et de l'afficher dans mon mail au format html (en utilisant le cid du logo). Je reçois bien l'image mais à coté du message j'ai le petit logo de fichier joint. J'aimerais empêcher ce comportement car c'est pas un fichier joint en tant que tel mais plutôt un fichier destiné à être incorporé dans le mail. est-ce que vous sauriez comment faire pour fixer ce problème. Merci.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Il faudrait nous montrer ton code.

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Voici le code utilisé pour juste insérer l'url vers l'image
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $boundary = '-----=' . md5( rand()  );
    $from="Admin";
    $replyto="";
    $headers="From: " . $from . "\r\n" .
    "Reply-To: " . $replyto . "\r\n"."MIME-Version: 1.0\r\n";
    $headers.='Content-type: text/html; charset=ISO-8859-1'."\r\n";
    $message="<b> Ceci est un test d'envoi de mail</b>";
    $message.="<div style='margin-top:-20px'><img src=\"http://lien_serveur /images/image_gif.gif\" alt=\"Logo\"></div>";
    $subject="Test";
    echo mail("mafranck23@yahoo.fr", $subject, $message, $headers);
    Et voici ci-dessous ce que je fais pour afficher l'image préalablement joint :
    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
    $boundary = '-----=' . md5( rand()  );
    $from="Admin";
    $replyto="";
     $headers="From: " . $from . "\r\n" .
    "Reply-To: " . $replyto . "\r\n"."MIME-Version: 1.0\r\n";
    $headers.='Content-type: text/html; charset=ISO-8859-1'."\r\n";
    $message="<b> Ceci est un test d'envoi de mail</b>";
    $message.="<div style='margin-top:-20px'><img src=cid:$file_id\" alt=\"Logo\"></div>";
    $subject="Test";
    $file_type="image/gif";
    $file_id  = md5( uniqid ( rand() ) ) . $_SERVER['SERVER_NAME'];
    $fp = fopen($filename, 'r');
    $content = fread($fp, filesize($filename));
    $content=file_get_contents($filename);
    $content_encode = chunk_split(base64_encode($content));	
    fclose($fp);
    $message .="--" . $boundary . "\n";
    $message .= "Content-Type:\"$file_type\"; name=\"$filename.\""."\n";
    $message .= "Content-Disposition:inline; name=\"$filename.\""."\n";
    $message .= "Content-Transfer-Encoding: base64\n";
    $message .= "Content-ID: <$file_id>\n";
    $message .= $content_encode . "\n";
    $message .= "--" . $boundary . "--\n";
    mail("mafranck23@yahoo.fr",$subject, $message, $headers);
    Merci encore une fois pour votre aide

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 244
    Points
    20 244
    Par défaut
    Il n'y a pas de solution miracle.

    Par défaut la plus part des clients mails bloquent les images , sauf si l’émetteur du mail est connu. Donc il est "normal" que ton mail n'affiche pas les images.

    Pour la pièce jointe , tu ne veux peut être pas considérer l'image comme telle , mais s'en est bel et bien une , et là encore , pas le choix (ça dépend en fait encore une fois du client mail).

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    OK merci pour les explications. Je vais essayer d'utiliser un email existant peut être que ça ira mieux.

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

Discussions similaires

  1. [2.x] [SwiftMailer] Afficher une image dans le corps du mail
    Par PiXiCo dans le forum Symfony
    Réponses: 1
    Dernier message: 30/01/2015, 20h03
  2. afficher des images dans un mail venant d'une bdd
    Par arckaniann dans le forum Langage
    Réponses: 2
    Dernier message: 09/05/2013, 11h45
  3. Afficher une image dans un état
    Par Invité1 dans le forum IHM
    Réponses: 8
    Dernier message: 23/09/2009, 15h59
  4. C# Afficher une image dans un mail.
    Par Nadiya dans le forum Windows Forms
    Réponses: 1
    Dernier message: 02/06/2008, 23h31
  5. [HTML] Comment afficher une image dans un mail?
    Par NedaRyme dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 14/02/2008, 14h20

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