{ "name": "imap-extract-folded-encoded-filename", "description": "An attachment whose filename is an RFC 2047 encoded word folded across two lines must still be found. Reproduces the Email OCR failure of 2026-09-04: a 41 KB PDF named \"Sarkanyok parzasi es etkezesi szokasaik.pdf\" (with accents) was parsed with its name truncated at the fold, so it did not end in .pdf, the extension filter rejected it, and the workflow took its no-attachments branch and completed - no reply, no error, nothing logged. Any attachment with a non-ASCII name had always been lost this way. The extension filter is the point of the test: without decoding, the name ends in '?=' and the count is 0.", "nodes": [ { "id": "n1", "name": "Trigger", "type": "click-trigger", "position": { "x": 0, "y": 0 }, "config": {} }, { "id": "n2", "name": "Mime", "type": "code", "position": { "x": 0, "y": 100 }, "config": { "code": "return { raw: \"From: someone@example.com\\r\\nTo: noreply@shopcall.ai\\r\\nSubject: teszt\\r\\nMIME-Version: 1.0\\r\\nContent-Type: multipart/mixed; boundary=\\\"OUTER\\\"\\r\\n\\r\\n--OUTER\\r\\nContent-Type: text/plain; charset=utf-8\\r\\n\\r\\nhello\\r\\n--OUTER\\r\\nContent-Transfer-Encoding: base64\\r\\nContent-Type: application/pdf;\\r\\n name=\\\"=?UTF-8?Q?S=C3=A1rk=C3=A1nyok_p=C3=A1rz=C3=A1si_=C3=A9s_=C3=A9tkez?=\\r\\n =?UTF-8?Q?=C3=A9si_szok=C3=A1saik=2Epdf?=\\\"\\r\\nContent-Disposition: attachment;\\r\\n filename=\\\"=?UTF-8?Q?S=C3=A1rk=C3=A1nyok_p=C3=A1rz=C3=A1si_=C3=A9s_=C3=A9tkez?=\\r\\n =?UTF-8?Q?=C3=A9si_szok=C3=A1saik=2Epdf?=\\\"\\r\\n\\r\\nJVBERi0xLjQKMSAwIG9iajw8L1R5cGUvQ2F0YWxvZz4+ZW5kb2JqCnRyYWlsZXI8PC9Sb290IDEg\\r\\nMCBSPj4KJSVFT0YKeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\\r\\neHh4eHh4eHh4eHh4eHh4eHg=\\r\\n--OUTER--\\r\\n\" };" } }, { "id": "n3", "name": "Extract", "type": "imap-extract-attachments", "position": { "x": 0, "y": 200 }, "config": { "emailSource": "{{ data.result.raw }}", "filterExtensions": "pdf, jpg, jpeg, png", "filterMimeTypes": "application/pdf, image/*", "maxSize": 0, "deduplicateByHash": false, "storeInDatabase": false, "binaryStoragePath": "/tmp/smartbotic-extract-test" } } ], "connections": [ { "sourceNodeId": "n1", "sourceOutput": "main", "targetNodeId": "n2", "targetInput": "data" }, { "sourceNodeId": "n2", "sourceOutput": "main", "targetNodeId": "n3", "targetInput": "data" } ], "expect": { "n3": { "status": "completed", "output": { "count": 1, "attachments": [ { "filename": "Sárkányok párzási és étkezési szokásaik.pdf", "mimeType": "application/pdf" } ] } } } }