Bonjour,
Dans le cadre de nos développements, nous avons des objets sauvegardés en base qui contiennent des fichiers,
Une de nos feature consiste a envoyer ces fichiers en PJ de mail,
Nous récupérons parfaitement les fichiers, ils sont intégrés dans mail avec le bon mimetype ( gmail nous propose les bonnes applis pour les ouvrir ) ont le bon titre et ont des poids cohérentes ,
Mais nous avons un problème : aucun de ses fichier ne s’ouvre,
Par exemple nous avons essayé d’ouvrir un .doc issue d’un mail avec word, libre office write et google doc, aucune de ces 3 application n’arrive a ouvrir notre .doc
le problème est similaire pour les autres types de fichiers qu’on a testé ( .xls et .pdf )
Voici un screen gmail des 4 pj d’un mail :
Un screen de l’erreur google doc : ( erreur similaire avec d’autre applications )
Enfin voici le code qui nous permet d’envoyer le mail : ( le code est fortement simplifé pour l’exemple, nous utilisons dans les faits une classe helper, mais c’est la même philosophie ) :
Mail mail = new Mail(g);
List<Mail.MailAttach> pjs = new ArrayList<Mail.MailAttach>();
DocumentDB doc1 = obj1.getField("comPJfichier").getDocument(g); // dans les faits c'est un for sur des objets en base
DocumentDB doc2 = obj2.getField("comPJfichier").getDocument(g);
try{
java.io.File docFile1 = doc1.getFile();
java.io.File docFile2 = doc2.getFile();
Mail.MailAttach mA1 = new Mail.MailAttach(docFile1);
Mail.MailAttach mA2 = new Mail.MailAttach(docFile2);
pjs.add(mA1);
pjs.add(mA2);
}
catch(Exception e ){
...
}
Mail.MailAttach[] attachements = pjs.size()>0 ? pjs.toArray(new Mail.MailAttach[pjs.size()]) : null;
Mail.MailImage[] images = null;
mail.sendWithAttach(["email1","email2"], "from", "to", ["email1","email2"] , ["email1","email2"] , "subject", "<h1>Mon super mail<h1>", Mail.MAIL_MIME_TYPE_HTML, null, attachements, images);