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

Développement Web en Java Discussion :

Javamail: Envoyer un mail contenant une image


Sujet :

Développement Web en Java

  1. #1
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut Javamail: Envoyer un mail contenant une image
    Bonjour

    Je voudrais savoir comment mettre une image dans le contenu de mon message lors de l'envoi via Javamail:

    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
     
    public Message() {}
     
     public void init()    throws ServletException
      { ServletContext context = getServletContext();
        host = context.getInitParameter("host");
        port = context.getInitParameter("port");
        user = context.getInitParameter("user");
        pass = context.getInitParameter("pass");
      }
     
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
      {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
    StringBuilder builder = new StringBuilder("<html><body>");
     
          builder.append("<br><br><u>Nom:</u>").append(nom).append("<br><br> <u>Entreprise:</u>").append(entreprise).append("<br><br><u>Email:</u> ").append(email).append("<br><br><u>Téléphone:</u> ").append(tel).append("<br><br><u>Site web:</u> ").append(site).append(" <br><br><u>Message:</u> ").append(message);
     
          builder.append("</body></html>");
    Merci

  2. #2
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut
    Bon j'ai eu une piste:

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    package com.tutorialspoint;
     
    import java.util.Properties;
    import javax.activation.DataHandler;
    import javax.activation.DataSource;
    import javax.activation.FileDataSource;
    import javax.mail.BodyPart;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.PasswordAuthentication;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeBodyPart;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.MimeMultipart;
     
    public class SendInlineImagesInEmail {
       public static void main(String[] args) {
          // Recipient's email ID needs to be mentioned.
          String to = "destinationemail@gmail.com";
     
          // Sender's email ID needs to be mentioned
          String from = "fromemail@gmail.com";
          final String username = "manishaspatil";//change accordingly
          final String password = "******";//change accordingly
     
          // Assuming you are sending email through relay.jangosmtp.net
          String host = "relay.jangosmtp.net";
     
          Properties props = new Properties();
          props.put("mail.smtp.auth", "true");
          props.put("mail.smtp.starttls.enable", "true");
          props.put("mail.smtp.host", host);
          props.put("mail.smtp.port", "25");
     
          Session session = Session.getInstance(props,
             new javax.mail.Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication() {
                   return new PasswordAuthentication(username, password);
                }
             });
     
          try {
     
             // Create a default MimeMessage object.
             Message message = new MimeMessage(session);
     
             // Set From: header field of the header.
             message.setFrom(new InternetAddress(from));
     
             // Set To: header field of the header.
             message.setRecipients(Message.RecipientType.TO,
                InternetAddress.parse(to));
     
             // Set Subject: header field
             message.setSubject("Testing Subject");
     
             // This mail has 2 part, the BODY and the embedded image
             MimeMultipart multipart = new MimeMultipart("related");
     
             // first part (the html)
             BodyPart messageBodyPart = new MimeBodyPart();
             String htmlText = "<H1>Hello</H1><img src=\"cid:image\">";
             messageBodyPart.setContent(htmlText, "text/html");
             // add it
             multipart.addBodyPart(messageBodyPart);
     
             // second part (the image)
             messageBodyPart = new MimeBodyPart();
             DataSource fds = new FileDataSource(
                "/home/manisha/javamail-mini-logo.png");
     
             messageBodyPart.setDataHandler(new DataHandler(fds));
             messageBodyPart.setHeader("Content-ID", "<image>");
     
             // add image to the multipart
             multipart.addBodyPart(messageBodyPart);
     
             // put everything together
             message.setContent(multipart);
             // Send message
             Transport.send(message);
     
             System.out.println("Sent message successfully....");
     
          } catch (MessagingException e) {
             throw new RuntimeException(e);
          }
       }
    }
    Je vais l'exploiter.

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut
    C'est bon, ça marche.

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

Discussions similaires

  1. Envoyer un email avec une image dans le corps du mail
    Par nitch01 dans le forum Langage
    Réponses: 1
    Dernier message: 04/01/2012, 08h36
  2. Envoyer un mail avec une image dans le corps du mail
    Par tkoprowski dans le forum Android
    Réponses: 1
    Dernier message: 24/08/2011, 17h03
  3. html mail et contenant une image
    Par erman_yazid dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 11/10/2008, 17h34
  4. [JavaMail] recevoir un mail contenant une image
    Par nicotine002 dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 26/08/2006, 12h38
  5. Envoyer un mail depuis une procédure stockée
    Par bd0606 dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 03/10/2005, 11h51

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