por - plantilla email html responsive
¿Tipo MIME para satisfacer HTML, correo electrónico, imágenes y texto plano? (1)
Tienes razón. Las imágenes en línea deben almacenarse en una entidad mimo multipart/related
(RFC 2387) y las opciones de tipo de contenido múltiple se pueden realizar con multipart/alternative
(RFC 2046).
Para agregar archivos adjuntos, puede colocar toda la estructura en un multipart/mixed
y agregar los archivos adjuntos.
- multiparte / mixto
- multiparte / alternativa
- Texto sin formato
- multiparte / relacionado
- texto / html
- imagen / gif
- imagen / gif
- algo / cosa (disposición: apego)
- algo / cosa (disposición: apego)
- multiparte / alternativa
También puede usar la imagen en línea en mensajes de texto / sin formato, pero no todos los MUA son compatibles con esto. (No usar ninguna o disposición: en línea)
- multiparte / mixto
- texto / plano (texto arriba de la imagen)
- imagen / gif
- texto / plano (texto debajo de la imagen)
Y no conozco una forma limpia de combinar esto con un correo electrónico HTML multiparte / alternativo.
La respuesta a Correo multipart / alternative vs multipart / mixed sugiere que los archivos adjuntos deben ser pares del mensaje multipart/alternative
, como:
- multiparte / mixto
- multiparte / alternativa
- Texto sin formato
- texto / html
- algo / cosa (disposición: apego)
- algo / cosa (disposición: apego)
- ...
- multiparte / alternativa
Me gustaría enviar un correo electrónico con una parte html con algunas imágenes en línea y una alternativa de texto sin formato. ¿Cuál es el diseño MIME preferido para las distintas partes? Aparecen un par de opciones en el código de ejemplo y en otras preguntas, pero ¿cuáles han funcionado mejor en la práctica? Mi inclinación es esta:
- multiparte / alternativa
- Texto sin formato
- multiparte / relacionado
- texto / html (referenciando las imágenes por cid)
- imagen / gif
- imagen / gif
- ...
De esa manera, las imágenes son claramente con el propósito de representar la parte html. Un ejemplo completo de esto sería:
From: Rich Example <[email protected]>
To: A Recipient <[email protected]>
Subject: An example of email with images and a plain alternative
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="outer-boundary"
This is a MIME-encoded message. If you are seeing this, your mail
reader is old.
--outer-boundary
Content-Type: text/plain; charset=us-ascii
This message might make you :) or it might make you :(
--outer-boundary
MIME-Version: 1.0
Content-Type: multipart/related;
type="text/html"; start="<body@here>"; boundary="inner-boundary"
--inner-boundary
Content-Type: text/html; charset=us-ascii
Content-Disposition: inline
Content-ID: <body@here>
<html>
<body>
This message might make you
<img src="cid:smile@here" alt="smile">
or it might make you
<img src="cid:frown@here" alt="frown">
</body>
</html>
--inner-boundary
Content-Type: image/gif
Content-Disposition: inline
Content-Transfer-Encoding: base64
Content-ID: <smile@here>
R0lGODlhEAAQAKEBAAAAAP//AP//AP//ACH5BAEKAAIALAAAAAAQABAAAAIzlA2px6IBw2
IpWglOvTahDgGdI0ZlGW5meKlci6JrasrqkypxJr8S0oNpgqkGLtcY6hoFADs=
--inner-boundary
Content-Type: image/gif
Content-Disposition: inline
Content-Transfer-Encoding: base64
Content-ID: <frown@here>
R0lGODlhEAAQAKEBAAAAAAD//wD//wD//yH5BAEKAAIALAAAAAAQABAAAAIzlA2px6IBw2
IpWglOvTahDgGdI0ZlGW5meKlci75drDzm5uLZyZ1I3Mv8ZB5Krtgg1RoFADs=
--inner-boundary--
--outer-boundary--