Page 1 sur 1

Extraction de PJ : quid de Content-ID ?

MessagePublié: 09 Nov 2011 à 16:17
par ubu89
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

MessagePublié: 09 Nov 2011 à 23:34
par roubech
tu as essayé de parcourir ton mail en MIME, avec NotesMimeEntity ... ?

MessagePublié: 10 Nov 2011 à 17:05
par Éric Viala
*) 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 ?

MessagePublié: 10 Nov 2011 à 20:05
par Michael DELIQUE
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...

MessagePublié: 16 Nov 2011 à 10:54
par ubu89
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.