¿Cómo puedo extraer archivos adjuntos de un correo electrónico cuando llegan codificados en el cuerpo del correo electrónico de esta manera:
------ =_NEXTPART_FORMSCAPE_MAIL_message101122101615
Content-Type: application/octet-stream; name="MyFile_hasalongish
filename_22-NOV-2010.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="MyFile_hasalongishfilename_22-NOV-2010.pdf"
Content-Description: MyFile_hasalongishfilename_22-NOV-2010.pdf
JVBEDi0xLjMKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFIvRmlsdGVyIC9GbGF0
ZFRGVSdsfSDF43N0cmVhbQp4nJ0b23IVN/LdXzG1D7vnbOUMo9tISiWpBduAN2CMbZJN
[...]
OUIwOEYxRDcyRjkwRDAxRUU1QzBDMjhEM0Y+XQo+PgpzdGFydHhyZWYKMTMwNDQKJSVF
T0YK
------ =_NEXTPART_FORMSCAPE_MAIL_message101122101615--
Respuestas:
Guarde el correo electrónico en un archivo de texto con la extensión
.uue
y extraiga el archivo adjunto con un desarchivador.fuente
Copie solo el texto codificado en base64 en un nuevo archivo de texto
foo.txt
.Acabo de decodificar un flujo base64 que tenía un bit adicional en el extremo que tuve que eliminar. Parecía como esto:
--=_59494bda030d4629113a60ff13935d81--
. Antes de eliminarlo, recibí el error:Invalid character in input stream.
después de eliminarlo, no hay errores de decodificación y se abrió muy bien.fuente
Pude recuperar el archivo usando un decodificador base64 y copiando solo el texto real que era el archivo adjunto codificado, no ninguna de las cosas de encabezado / pie de página circundantes.
fuente