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

API standards et tierces Java Discussion :

[JavaMail] Problème de pièce jointe


Sujet :

API standards et tierces Java

  1. #1
    Membre du Club
    Homme Profil pro
    Debuttant en developpement d'application
    Inscrit en
    Novembre 2014
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Guinée

    Informations professionnelles :
    Activité : Debuttant en developpement d'application

    Informations forums :
    Inscription : Novembre 2014
    Messages : 86
    Points : 55
    Points
    55
    Par défaut [JavaMail] Problème de pièce jointe
    Bonjours à tout le monde, je suis un débutant en programmation, et actuellement je travaille
    sur une application client lourd qui envoi des mails, mais je confronté à un problème .
    Je m'explique pour l'envoi du mail je joint une pièce, pour le premier destinataire dans ma liste des destinataires tout ce passe bien,
    mais pour les autres l'affichage n'est pas bons, voici ce qui s'affiche à la place de la pièce jointe

    ------=_Part_3_6267181.1416398587452
    Content-Disposition: attachment; filename=s.sql
    S'il vous plait aidez mois.
    Voici ma fonction

    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
    public static void pieceJoint(MimeBodyPart messageBodyPart, String Texte, Multipart multipart, ArrayList attachement_path, Message mimeMessage, String from, ArrayList<String> to) throws MessagingException {
     
             mimeMessage.setFrom(new InternetAddress(from));
            InternetAddress[] toAdress = new InternetAddress[to.size()];
            for (int i = 0; i < to.size(); i++) {
                toAdress[i] = new InternetAddress(to.get(i));
                System.out.println(to.get(i));
            }
            mimeMessage.setRecipients(Message.RecipientType.TO, toAdress);
     
            messageBodyPart = new MimeBodyPart();
            messageBodyPart.setText(Texte,"UTF-8");
            multipart = new MimeMultipart("alternative");
            multipart.addBodyPart(messageBodyPart);
            for (int i = 0; i < attachement_path.size(); i++) {
                messageBodyPart = new MimeBodyPart();
                File file=new File((String) attachement_path.get(i));
                javax.activation.FileDataSource source = new FileDataSource(file);
                System.out.println(i + " " + attachement_path.get(i));
                messageBodyPart.setDataHandler(new DataHandler(source));
    //            String name = (String) attachement_path.get(i);
                messageBodyPart.setFileName(source.getName());
                multipart.addBodyPart(messageBodyPart);
            }
             messageBodyPart.setText(Texte, "UTF-8");
            mimeMessage.setContent(multipart);
        }
    }

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    A vue de nez, le dernier


    messageBodyPart.setText(Texte, "UTF-8");

    m'a l'air suspect.

    Sinon, il n'y a pas de raison pour qu'il y aie un affichage différent chez chaque utilisateur, ils recoivent tous exactement le même contenu. Avec des adresses to multiples, il y a un seul mail avec une liste de destinataire, contrairement au bcc

  3. #3
    Membre du Club
    Homme Profil pro
    Debuttant en developpement d'application
    Inscrit en
    Novembre 2014
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Guinée

    Informations professionnelles :
    Activité : Debuttant en developpement d'application

    Informations forums :
    Inscription : Novembre 2014
    Messages : 86
    Points : 55
    Points
    55
    Par défaut J'ai commenté l'instruction mais ça pas marché
    Bon la méthode marchais et chaque destinataire recevais la pièce sans problème, mais c'est lorsque
    j'ai voulu personnalisé le mail pour chaque destinataire, par exemple inséré dans le mail l'adresse du destinataire
    (qui provient d'une base de donnée), que ces erreurs ont commencés.
    Voici comment j'ai raisonné :

    ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    ArrayList<String> lsad=new ArrayList<>();
    DestinataireController destControl = new DestinataireController();
    Destinataire dest = new Destinataire();
    for (int i = 0; i < listeDestinataire.size(); i++) {
     
          lsad.add(listeDestinataire.get(i));
                  message.msg(Titre, mimeMessage, From, lsad);
                for(int a=0;a<lsad.size();a++){
                   dest = destControl.recherchEmail(lsad.get(a));                                                              
                   txte = dest.getAddress() + "\n" + dest.getBp() + "\n" + dest.getTel() + "\n Bonjours " + dest.getTitre() + " " + dest.getNom() + "\n" + Texte;
                   message.pieceJoint(messageBodyPart, txte, multipart, attachement_path, mimeMessage, From, lsad);
                   Transport.send(host, From, password, mimeMessage, session); 
                  }
     }
    ...

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Bon, on a pas le contenu de tes méthodes mais, en gros, tu a l'air d'attacher tout progressivement au même message, avec plusieurs bodypart différents, du coup les clients commencent à s'emmêler. Crée simplement complètement le message pour chaque destinataire plutôt que de réutiliser tes objets.

  5. #5
    Membre du Club
    Homme Profil pro
    Debuttant en developpement d'application
    Inscrit en
    Novembre 2014
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Guinée

    Informations professionnelles :
    Activité : Debuttant en developpement d'application

    Informations forums :
    Inscription : Novembre 2014
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    Ok, je vais revoir mon code, s'il vous plait, pouvez vous m'envoyé un lien vers un cours qui pourra me servir.
    MERCI D'AVANCE.

Discussions similaires

  1. [JavaMail] Envoi de pièce jointe
    Par log2n dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 08/11/2013, 09h34
  2. [javamail] Problème de pièce jointe sous mac
    Par Esteban72 dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 06/12/2010, 11h54
  3. Problème avec pièce jointe .jpg
    Par javelot69 dans le forum Outlook Express / Windows Mail
    Réponses: 14
    Dernier message: 25/10/2007, 13h55
  4. [Mail] Problème avec pièce jointe
    Par coco38 dans le forum Langage
    Réponses: 4
    Dernier message: 27/04/2007, 10h14
  5. [JavaMail][MIME] Enregistrer pièces jointes
    Par Julaie95 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 20/07/2006, 11h04

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