¿Cómo crear una respuesta / método de correo electrónico para codificar una respuesta?

Estoy construyendo una aplicación que responde a los correos electrónicos en nombre de los usuarios de mi aplicación. Estos correos electrónicos se envían a mis usuarios y son interceptados por mi aplicación para que respondan automáticamente a sus clientes. Los correos electrónicos provienen de terceros y contienen un formato de marca.

Mi aplicación PHP toma el HTML completo del correo electrónico, lo almacena en una tabla MySQL y luego crea una respuesta y agrega el HTML debajo de una


en la parte inferior del correo electrónico.

Esto funciona y parece una respuesta (que es mi intención (aunque construiré algunos detalles del encabezado para que se vea más legítimo como si fuera respondido en Outlook o similar)).

Mi problema, sin embargo, es que este método daña el formato de respuesta, parece asumir estilos como el alto de línea del HTML original del correo electrónico en la parte inferior de la respuesta.

Por lo tanto, mi pregunta es, ¿cómo creo un correo electrónico de respuesta? Haga lo que hago y escriba mejor mi respuesta, o necesito hacer más con el original completo, no solo con el resultado HTML. ¿Y está incluso bien tener tags HTML en un correo electrónico?

Me encantaría que la respuesta fuera algo así como: extraer la X del correo electrónico y generar una respuesta con la biblioteca Y de código abierto 🙂

EDITAR: ejemplos de correo electrónico solicitados

Este correo electrónico de terceros contiene una cabecera que se ve así:

    body{font-family: arial,helvetica,sans-serif;} a{color: #06c;} p{margin:0;} #message{width:600px;margin:0 auto;} .legal{margin-top:2em;} .footer{margin-top:1em;padding:5px;background:#999999;color:#fff;} .footer a{color:#fff;} .senderName,.label{font-weight:bold;} .link,.label,.hint{margin-top: 20px;} .header-separator{height:4px;background-color:#e4002b;width:100%;margin-top:17px;} tr,td{vertical-align:top;text-align:left;} img{border:0;} ${css!""}    
...

Y mis plantillas de correo electrónico de usuario (integradas en TinyMCE) se verán así:

 

Dear [name],

Thanks for your enquiry ...

Cuando envío el correo electrónico al servicio de correo electrónico es tan simple:

 $emailreply = $userTemplate . '
' . $originalEnquiry;

Sin duda, eso no es lo suficientemente bueno? Además, este es el correo electrónico que mencioné donde se ve afectada la altura de línea, por lo que mis plantillas de usuario no se envían según lo diseñado.

Es raro el caso en el correo electrónico de terceros, con etiqueta

separada cuando el procedimiento habitual en el desarrollo de correo electrónico HTML es configurar todos los estilos en línea.

Es un poco lógico que esos estilos (de la etiqueta

dañen su nuevo código. La mejor opción aquí es hacer todo ese estilo (desde el correo electrónico de terceros) en línea, para que pueda eliminar la etiqueta

, manteniendo ambos estilo de correo electrónico separado.

Como dijiste en la aplicación PHP , creo que puedes usar algo de lo siguiente:

  • https://github.com/tijsverkoyen/CssToInlineStyles
  • https://github.com/jjriv/emogrifier
  • https://github.com/emilsundberg/Laravel-HTML-email-inliner/blob/master/src/Emil/Inliner/vendor/Premailer/Premailer.php

Y asegúrese de que si la herramienta elegida de las herramientas anteriores no elimina la etiqueta

, elimínelo usted mismo (puede hacerlo usando expresiones regulares).

Espero que esto ayude, buena suerte