2009-02-07 9 views
2

Je suis en train d'écrire une application de messagerie IMAP s'exécutant sur J2ME. C'est mon projet senior. Tout d'abord, je voudrais savoir qu'il y a des messages IMAP pour obtenir le corps du message, ne pas inclure une pièce jointe?Comment déterminer la taille d'un fichier attaché à partir d'un message IMAP

Lorsque j'envoie le message à serveur IMAP comme ..

. chercher 20 corps [texte]

Le serveur IMAP réponse comme

< --body PARTIE ->

--- MOQ1233897306fd448beb67b3c728ca47f0f5c3dbef2f Content-Type: image/jpeg; name = "card.jpg" Content-Transfer-Encoding: base64 Contenu-Disposition: pièce jointe; filename = "card.jpg" /9j/4RPsRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAA ...

Alors, je ne sais pas comment obtenir juste le corps d'une pièce jointe non !? Comment puis-je connaître la taille du fichier et combien de fichiers joints dans le message avant de charger tous ces messages et calculer pour la taille du fichier?

Si quelqu'un sait à ce sujet, SVP aidez-moi. Merci beaucoup.

Répondre

4

Vous devrez demander au serveur pour le BODYSTRUCTURE de ce message:

FETCH 20 BODYSTRUCTURE 

Vous devrez ensuite analyser la réponse et de décider de la présence ou l'absence de pièces jointes. Voici un exemple de réponse d'un message avec une partie en texte brut et trois images jointes:

20 FETCH (BODYSTRUCTURE (("TEXT" "PLAIN" ("CHARSET" "ISO-8859-15" "FORMAT" "flowed") NIL NIL "8BIT" 950 30 NIL NIL NIL)("IMAGE" "JPEG" ("NAME" "r001-023.jpg") NIL NIL "BASE64" 1708116 NIL ("INLINE" ("FILENAME" "r001-023.jpg")) NIL)("IMAGE" "JPEG" ("NAME" "r001-022.jpg") NIL NIL "BASE64" 2077114 NIL ("INLINE" ("FILENAME" "r001-022.jpg")) NIL)("IMAGE" "JPEG" ("NAME" "r001-012.jpg") NIL NIL "BASE64" 2374832 NIL ("INLINE" ("FILENAME" "r001-012.jpg")) NIL) "MIXED" ("BOUNDARY" "------------090105040606010906000608") NIL NIL)) 
Questions connexes