On 19. Dec 2024, at 11.24, frido--- via dovecot <dovecot@dovecot.org> wrote:
So I managed to capture the IMAP session on my private setup at home when the attachment didn't load:
- 4296 FETCH (UID 79319 RFC822.SIZE 4833363 BODYSTRUCTURE ((("text" "plain" ("charset" "UTF-8" "format" "flowed") NIL NIL "7bit" 628 20 NIL NIL NIL NIL)("text" "html" ("charset" "UTF-8") NIL NIL "quoted-printable" 14902 273 NIL NIL NIL NIL) "alternative" ("boundary" "------------5EXWg0Iu8dW8o3YRD7dph7JE") NIL NIL NIL)("application" "octet-stream" ("name" "Kersteditie2024.pdf") NIL NIL "base64" 4815062 NIL ("attachment" ("filename" "Kersteditie2024.pdf")) NIL NIL) "mixed" ("boundary" "------------0gFkVYGlMESirTIQU37JNRX9") NIL ("en-US") NIL)) A37 OK Fetch completed (0.001 + 0.000 secs). A38 UID FETCH 79319 (UID BODY.PEEK[1]<0.393216>) A39 UID FETCH 79319 (UID BODY.PEEK[1]<393216.393216>)
These should be BODY.PEEK[2]. iOS Mail seems somehow confused.
I did remove the actual message data from the fragment above. Now when I shutdown the app on my phone and restart it, tapping the message again and then on the attachment, it successfully downloaded the attachment. This is a the fragment of the captured IMAP session without the actual data of the attachment:
========== CUT ===========
- 4295 FETCH (UID 79328 RFC822.SIZE 4833363 BODYSTRUCTURE ((("text" "plain" ("charset" "UTF-8" "format" "flowed") NIL NIL "7bit" 628 20 NIL NIL NIL NIL)("text" "html" ("charset" "UTF-8") NIL NIL "quoted-printable" 14902 273 NIL NIL NIL NIL) "alternative" ("boundary" "------------5Xw8ldQiQkqLE7H0VdtAAAQM") NIL NIL NIL)("application" "octet-stream" ("name" "Kersteditie2024.pdf") NIL NIL "base64" 4815062 NIL ("attachment" ("filename" "AllichtHoornKersteditie2024.pdf")) NIL NIL) "mixed" ("boundary" "------------o0KKQGwxtQLV6Bq9NgmPHlIh") NIL ("en-US") NIL))
This is a different email entirely. Different IMAP UID, different MIME boundaries, second attachment filename is different. So I guess the sender sent it twice.
A36 OK Fetch completed (0.005 + 0.000 + 0.004 secs). A37 UID FETCH 79328 (UID BODY.PEEK[2]<0.393216>) A38 UID FETCH 79328 (UID BODY.PEEK[2]<393216.393216>)
The MIME structure is similar than in the first mail, and here it's correctly using BODY.PEEK[2].
Anyway, this doesn't seem like the issue is related to IDLE like mentioned elsewhere.