Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1616 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Help! upload + envoi d'email avec pièce jointe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] Help! upload + envoi d'email avec pièce jointe

n°237784
Zeplusoif
Posté le 31-10-2002 à 10:39:25  profilanswer
 

Mon but : uploader un fichier sur un serveur Tomcat et l'envoyer par email en attachment
 
 
L'upload :
 

Code :
  1. System.out.println ("Début de l'upload" );
  2.  // Variables
  3.  int count=0;
  4.  SmartUpload mySmartUpload = new SmartUpload();
  5.  try {
  6.   // Initialization
  7.   mySmartUpload.initialize (config,request,response);
  8.   System.out.println ("initialisation effectuée" );
  9.   // Upload
  10.   mySmartUpload.upload();
  11.   com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
  12.   // Display the result
  13.   System.out.println(count + " file uploaded." );
  14.   SendMail monMail = new SendMail ("exemple@yahoo.fr", "monSujet", "monTexte", myFile);
  15.   System.out.println("Instantiation Sendmail" );
  16.   monMail.send();
  17.   System.out.println ("Envoi du mail" );
  18.  } catch (Exception e){...
  19.  }
  20. }


 
 
 
 
 
La fonction send() :
 

Code :
  1. ublic void send()   throws java.io.IOException {  //destinataire du mail
  2. String to = getTo();
  3. //expediteur du mail
  4. String from = getFrom();
  5. //passerelle smtp
  6. String smtphost = getSmtpHost();
  7. //message
  8. String msgText1= getText();
  9. //sujet
  10. String sujet = getSubject();
  11. //attachment
  12. System.out.println("Variables initialisées" );
  13. //****************************************************
  14. // create some properties and get the default Session
  15. java.util.Properties props = System.getProperties();
  16. props.put("mail.smtp.host", smtphost);
  17. javax.mail.Session session = javax.mail.Session.getDefaultInstance(props, null);
  18. try {
  19.  // creation du message
  20.  // la 1ere partie du message, c'est le corps du message
  21.  // la 2eme c'est la piece jointe
  22.  javax.mail.internet.MimeMessage msg = new javax.mail.internet.MimeMessage(session);
  23.  msg.setFrom(new javax.mail.internet.InternetAddress(from));
  24.  javax.mail.internet.InternetAddress[] address = {new javax.mail.internet.InternetAddress(to)};
  25.  msg.setRecipients(javax.mail.Message$RecipientType.TO, address);
  26.  msg.setSubject(sujet);
  27.  // creation de la partie texte
  28.  javax.mail.internet.MimeBodyPart mbp1 = new javax.mail.internet.MimeBodyPart();
  29.  mbp1.setText(msgText1);
  30.  // creation de la deuxieme partie
  31.  javax.mail.internet.MimeBodyPart mbp2 = new javax.mail.internet.MimeBodyPart();
  32.  
  33. // on attache le fichier
  34.  mbp2.setDataHandler(new javax.activation.DataHandler(uploadedFile, uploadedFile.getSubTypeMIME()));
  35.  mbp2.setFileName(uploadedFile.getFileName());
  36.  // creation du Multipart et on y met les 2 parts
  37.  javax.mail.Multipart mp = new javax.mail.internet.MimeMultipart();
  38.  mp.addBodyPart(mbp1);
  39.  mp.addBodyPart(mbp2);
  40.  // ajout du Multipart au message
  41.  msg.setContent(mp);
  42.  // envoi du message
  43.  javax.mail.Transport.send(msg);
  44. }
  45. catch (javax.mail.MessagingException mex) {...
  46. }


 
Problème : ça marche pas. C l'attachement du fichier qui foire, la partie en gras. ça fait un moment ke je cherche, j'y arrive pas. La fonction, le constructeur DataHandler accepte en paramètre un Object et un MIMEType. Je ne sais pas koi lui fournir, notamment pour l'objet.
 
Quelqu'un a déjà fait ça?


Message édité par Zeplusoif le 31-10-2002 à 10:42:53
mood
Publicité
Posté le 31-10-2002 à 10:39:25  profilanswer
 

n°237797
darklord
You're welcome
Posté le 31-10-2002 à 10:51:17  profilanswer
 

ouais ... Tout dépend quel genre de fichier tu es censé uploader mais le truc c'est de construire le fichier proprement à l'upload. C'est pas la partie mail qui doit faire ca.


---------------
Just because you feel good does not make you right
n°237800
Zeplusoif
Posté le 31-10-2002 à 10:57:49  profilanswer
 

DarkLord a écrit a écrit :

ouais ... Tout dépend quel genre de fichier tu es censé uploader mais le truc c'est de construire le fichier proprement à l'upload. C'est pas la partie mail qui doit faire ca.




 
J'aimerais éviter d'écrire le fichier uploadé en dur. J'utilise le type java.jspsmart.upload.File qui stocke en mémoire. Je peux éalement récupérer ce fichier en stream par la fonction File.getContentString(). Mais même ça, ça marche pas...
 
ça doit bien être possible pourtant

n°237801
darklord
You're welcome
Posté le 31-10-2002 à 10:58:36  profilanswer
 

bin ca fait quoi déjà. Parce que décrire un problème avec du code et terminer pas un gros "ca marche pas", ca ne nous avance pas bcp ...


---------------
Just because you feel good does not make you right
n°240460
Zeplusoif
Posté le 06-11-2002 à 13:14:25  profilanswer
 

Solution :
 

Code :
  1. InternetHeaders headers =
  2.                      new InternetHeaders();
  3.                   MimeBodyPart bodyPart =
  4.                      new MimeBodyPart();
  5.                   DataSource ds =
  6.                      new ByteArrayDataSource(
  7.                         buffer.toByteArray(),
  8.                         contentType,filename);
  9.                   bodyPart.setDataHandler(
  10.                      new DataHandler(ds));
  11.                   bodyPart.setDisposition(
  12.                      "attachment; filename=\"" +
  13.                      filename + "\"" );
  14.                   bodyPart.setFileName(filename);


 
 
Code entier sur http://www.developer.com/java/other/article.php/618471


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Help! upload + envoi d'email avec pièce jointe

 

Sujets relatifs
[java] il se fou du monde le jbuilder !!!![Delphi]Interface 1 Wire Micro Lan avec Driver Java ! c est possible ?
[MFC] Comment faire un bouton "Help" ou "Aide"[Java]TCP Client ne marche que partiellement pkoi?[Resolu]
[Perl, C, C++, JAVA, etc.] besoin de conseil sur prog à faireBest practice Java : déclaration d'1 variable (locale) dans une boucle
[HELP NEEDED] programme permettant la gestion d'un emploi du tempsBleme d'allignement vertical sur ma page central ! HELP
kel java fau ke je telecharge pour jouer les jeux de yahoo???[PHP] Formulaire d'upload => Problème :(
Plus de sujets relatifs à : [JAVA] Help! upload + envoi d'email avec pièce jointe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR