Hola gente,
Tengo un email con imágenes adjuntas que están directamente
referenciadas en el body (html) del propio email de tal modo que el
cliente al abrir el email incrusta las imágenes adjuntas directamente
en la posición que el usuario indicó al crear el email.
Esto está hecho con el cliente Mail de Mac Os X, me imagino que otros
también harán virgerías de estas.
El caso es que mi tarea es recomponer este email: insertar los
ficheros en disco duro y sustituir las llamadas a los ids de los
‘parts/attachments’ del email con la url real en disco.
Tengo hecha lo que debería ser la parte dura… pero me estoy liando
bastante a la hora de extraer la cabecera “content-id” de las ‘parts’
que contienen los adjuntos ‘inline’. (Descontando que
action-mailer-1.3.6 no me mostraba estos attachments … pero bueno,
eso es otra historia)
fijaros:
?> mail = TMail::Mail.parse( File.read(
“test/fixtures/mails/mail_images_inserted.raw_mail” ) )
=> #<TMail::Mail port=#TMail::StringPort:id=0x115da3c bodyport=nil>
mail.parts[1].parts[1][“content-id”]
=> #<TMail::MessageIdHeader
“<D38F9F3F-2326-4781-B23E-770911E51CEC/tbg.jpg>\n”>
mail.parts[1].parts[1][“content-id”].body
=> “”
mail.parts[1].parts[1][“content-id”].id
=> nil
mail.parts[1].parts[1][“content-id”].empty?
=> true
mail.parts[1].parts[1][“content-id”].to_s
=> “”
Necesito extraer el “D38F9F3F-2326-4781-B23E-770911E51CEC/tbg.jpg” del
objeto TMail::MessageIdHeader pero no lo consigo
Un zip con el email por si queréis probar el código lo podéis coger de
aquí:http://fernandoguillen.info/ftp/mail_images_inserted.raw_mail.zip
Probado en rails 1.3.6 y rails 2.1.0
Cualquier sugerencia es bienvenida.
Saludos
f.