Extraction de PJ : quid de Content-ID ?

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Extraction de PJ : quid de Content-ID ?

Messagepar ubu89 » 09 Nov 2011 à 16:17

Bonjour à tous,

Je travaille sur du code Lotus Script qui réalise l'extraction de pièces jointes d'un mail.

Dans le cas d'un mail envoyé depuis un iPhone (j'ai que des emmerdes avec, si vous recherchez mes anciens messages :mrgreen:) j'ai des cas où je récupère la pièce jointe, d'autre pas.

Lui, il marche :
--Apple-Mail-6090A34E-D692-4E20-9C04-A2C33B79C735
Content-Type: image/jpeg;
name=photo.JPG
Content-Disposition: inline;
filename=photo.JPG
Content-Transfer-Encoding: base64


Mais pas lui :
--Apple-Mail-AE74A759-C689-4A41-82A3-AE425C637D1D
Content-Type: image/jpeg;
name=imagebidon.jpg
Content-Disposition: inline;
filename=imagebidon.jpg
Content-Id: <DB6B1C85>
Content-Transfer-Encoding: base64


Et la seule différence, c'est le Content-Id.

D'où ma question : à quoi ça sert ? Pourquoi est-il là ? Comment puis-je contourner ? Bref, si quelqu'un qui connait un peu passe par là, je suis sûr qu'il aura un tuyau à me filer.

Pour récupérer dans mon code les PJ ? J'utilise Evaluate sur @AttachmentNames pour pouvoir faire usage de la méthode GetAttachment du NotesDocument, seule solution de contournement pour mon problème d'instanciation du modèle objet de Domino (problème posé dans un autre topic)

Merci à toute future aide :)

François
Dernière édition par ubu89 le 16 Nov 2011 à 10:54, édité 1 fois.
ubu89
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 9
Inscrit(e) le : 20 Sep 2011 à 16:12

Messagepar roubech » 09 Nov 2011 à 23:34

tu as essayé de parcourir ton mail en MIME, avec NotesMimeEntity ... ?
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar Éric Viala » 10 Nov 2011 à 17:05

*) Pourrais-tu poster le Lotusscript en question ?
*) D'où exactement proviennent les métadonnées postées en citations ?
*) Quelles sont les tailles respectives des deux fichiers ?
*) Le succès est-il réelement systématique quand le courriel provient d'autre chose qu'un iPhone ?
*) Pour chacun des deux documents, combien d'instances du champ "Body" ?
*) Dans les cas où le document contient plusieurs instances de Body, est-on certain que le script va au-delà du getFirstItem ?
*) Comment est effectué le décodage depuis Base64 ?
Éric Viala
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 8
Inscrit(e) le : 18 Août 2011 à 13:42

Messagepar Michael DELIQUE » 10 Nov 2011 à 20:05

pour le décodage 64 j'ai un truc quelque part qui fais ça en LS que j'ai du récupérer un jours ya longtemp...
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar ubu89 » 16 Nov 2011 à 10:54

Oups, désolé, j'avais un peu oublié ce post.
roubech a écrit:tu as essayé de parcourir ton mail en MIME, avec NotesMimeEntity ... ?

Non, pas question de changer fondamentalement le code. Ca n'a même pas été envisagé, pour être honnête.
Éric Viala a écrit:*) Pourrais-tu poster le Lotusscript en question ?
*) D'où exactement proviennent les métadonnées postées en citations ?
*) Quelles sont les tailles respectives des deux fichiers ?
*) Le succès est-il réelement systématique quand le courriel provient d'autre chose qu'un iPhone ?
*) Pour chacun des deux documents, combien d'instances du champ "Body" ?
*) Dans les cas où le document contient plusieurs instances de Body, est-on certain que le script va au-delà du getFirstItem ?
*) Comment est effectué le décodage depuis Base64 ?

C'était chez un client, je n'ai plus le code en question. Mais en gros je récuperais une liste en faisant Evaluate de @AttachmentNames, je bouclais dessus et lorsqu'il y avait des valeurs, je récuperais un NotesEmbeddedObject à partir de la méthode GetAttachment du NotesDocument (qui prend en paramètre le nom du fichier)
Quand je dis que les pièces jointes "ne passent pas", elles ne sont tout simplement pas récupérées par la fonction @, qui ne les "détecte pas".

Les extraits viennent de la source du mail, vue > afficher la source.

Les deux fichiers ont une taille extrêmement faible (vu le nombre de fois ou je m'amusais avec dans la journée, vaut mieux), et ce n'était qu'avec un iPhone que j'avais des soucis (et sinon j'ai le mail de ma boite, Gmail et mon Black qui ne m'ont posé aucun problème déroutant comme celui-ci).

Je n'ai jamais constaté, dans le debugger, plusieurs instances de Body.

Finalement, l'idée a été d'utiliser le paramètre serveur MIMEForceAttachments qui, forcé à 1, force systématiquement tout élément en pièce jointe, sans altérer l'affichage du message pour autant.
ubu89
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 9
Inscrit(e) le : 20 Sep 2011 à 16:12


Retour vers Développement