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

Servlets/JSP Java Discussion :

envoi d'images avec javamail


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 183
    Points : 71
    Points
    71
    Par défaut envoi d'images avec javamail
    Bonjour,
    j'ai un problème d'envoi d'images avec javamail, c'est que l'image arrive "broken" au destinataires.
    dans la javadoc je trouve qu'il faut référencer les images avec un "cid url".
    j'aimerai bien savoir c'est quoi un "cid url"?
    et un exemple de "cid url" je serai très reconnaissant, je galère avec ce problème depuis des mois.
    merci.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    ce sont des urls pointant vers des identifier du contenu d'email, et qui permet de référencer une image se trouvant dans le mail.

    La méthode la plus simple c'est d'avoir les images sur un sreveur et de juste référencer le serveur dans tes tags <img>, comme n'importe quel html :p Ca rend aussi l'email plus léger ^^

    Sinon, pour gérer des cid, il faut faire un contenu en multipart/related, dedans il y aura une section avec ton html, et une autre pour chaque image. Chaque image doit se voir attribuer un Content-ID. Et ces content id sont utilisés comme url dans le html. En pratique voilà un bout d'email avec image inclue: (pour avoir un exemple complet, evoie-toi un email avec ton client préféré et regarde la source)
    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
    --------------000003070704070202090106
    Content-Type: multipart/related;
     boundary="------------000802040008060603040100"
     
     
    --------------000802040008060603040100
    Content-Type: text/html; charset=UTF-8
    Content-Transfer-Encoding: 8bit
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
      <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
    </head>
    <body bgcolor="#ffffff" text="#000000">
    test <img alt="vrr" title="bl" src="cid:part1.05020503.03040503@uuu.be"
     height="411" width="661"><br>
     
    </body>
    </html>
     
    --------------000802040008060603040100
    Content-Type: image/jpeg;
     name="Recherche Google.jpg"
    Content-Transfer-Encoding: base64
    Content-ID: <part1.05020503.03040503@uuu.be>
    Content-Disposition: inline;
     filename="Recherche Google.jpg"
     
    /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8S
    EhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEU
    Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAAR
    CAGbApUDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAA

  3. #3
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 183
    Points : 71
    Points
    71
    Par défaut
    merci de ta reponse mais j'ai pas bien compri

    les images je l'ai tous dans le repertoire:
    C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\monappli\work\graphics

    et le nom de l'image par exemple c : image.jpeg

    qu'est ce que je dois mettre dans:
    <img src=???????>

    et dans:
    messageBodyPart.setHeader("Content-ID","<image>");

    et aussi svp dans la declaration:
    DataSource fds = new FileDataSource(chemin);

    est ce que je dois donné le chemin absolu de l'image??
    merci.

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    alors, le cid, tu le choisi toi même. Comme tu l'a bien indiqué, tu le défini avec setHeader("Content-Id","<MonCidQueJAiChoisi>")

    Pour le filedatasource, tu le fait pointer sur le fichier réel, local, il sera lu par javamail. Enfin, pour le html, tu écris

    <img src="cid:MonCidQueJAIChoisi"/>

    Pour le reste, çà reste un mail en multipart avec des attachement et du html

  5. #5
    Membre averti Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Points : 332
    Points
    332
    Par défaut cid : pièce jointe?
    Bonjour,

    j'arrive longtemps après mais j'ai une petite question sur le traitement des références cid :

    Est ce que les images sont stockées dans les pièces jointes de l'email? Je veux dire, lorsque le destinataire va recevoir l'email, est ce qu'il verra qu'il y a des pièces jointes?

    D'avance merci.

    Hugo

  6. #6
    Membre averti Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Points : 332
    Points
    332
    Par défaut google is your friend

Discussions similaires

  1. Envoi de mail avec Javamail
    Par kodo dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 10/10/2012, 13h27
  2. [Prob] Envoi de mail avec JavaMail
    Par hannibal.76 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 11/06/2011, 13h44
  3. Envoi de mail avec javamail
    Par Heavy Metal Hero dans le forum Général Java
    Réponses: 4
    Dernier message: 03/06/2009, 14h54
  4. envoie des e_mail avec javamail
    Par anaaa dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 18/07/2007, 09h39
  5. Réponses: 3
    Dernier message: 21/06/2006, 14h31

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