Como determinar o tamanho de um arquivo anexo de uma mensagem IMAP

votos
2

Estou escrevendo um aplicativo de correio IMAP funcionando com o J2ME. É o meu projeto sênior.

Primeiro, eu gostaria de saber que existem mensagens IMAP para obter o corpo da mensagem apenas, não inclui um anexo?

Quando eu enviar a mensagem para servidor IMAP como ..

. buscar 20 corpo [texto]

A resposta IMAP Servidor vai gostar

<- PARTE DO CORPO ->

--- MOQ1233897306fd448beb67b3c728ca47f0f5c3dbef2f Content-Type: image / jpeg; name = card.jpg Content-Transfer-Encoding: base64 Content-Disposition: anexo; filename = card.jpg / 9ºJ / 4RPsRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAA ...

Então, eu não tenho nenhuma idéia de como obter apenas o corpo não um anexo !? Como eu sei o tamanho do arquivo e quantos arquivos anexados na mensagem antes de carga todos estes mensagem e calcular para o tamanho do arquivo?

Se alguém souber sobre isso, pls me ajudar. Obrigado muito.

Publicado 07/02/2009 em 18:37
fonte usuário
Em outras línguas...                            


1 respostas

votos
4

Você terá que pedir o servidor para o BODYSTRUCTURE dessa mensagem:

FETCH 20 BODYSTRUCTURE

Você terá, então, para analisar a resposta e decidir sobre a presença ou ausência de anexos. Aqui está um exemplo de resposta de uma mensagem com uma parte de texto simples e três imagens em anexo:

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))
Respondeu 16/02/2009 em 21:24
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more