Estimados.
Hay un aplicacion de symfony corriendo con la version 2.1.
Estoy enviando un email que contine fotografias, el es problema que no esta enviando las imagenes.
Trozo de código donde paso las imágenes:
{% for entity in entities %} ... <img src="{{ asset('uploads/fotos/' ~ entity.foto ~ '.jpg') }}"/> ... {% endfor %}
¿Cómo se podría enviar imágenes en el correo. Se que hay una forma en de hacerlo en symfony 2.7+, pero como se puede hacer en la 2.1.
Gracias
Respuestas
Hola.
No pude enviar las imagenes incrustadas en el correo.
al utilizar la esta ruta
'ruta' => __DIR__ . '/../../../../web/uploads/fotos/'
Visualiza las imagenes solo cuando las imagenes se encuentra en mismo equipo que recibe los correos. Ademas no se pueden redimencionar.
asi lo tengo en la plantilla:
{% for entity in entities %} ... <img style="width: 90px; height: 90px" src="{{ asset(ruta ~ entity.foto ~ '.jpg') }}"/> ... {% endfor %}
Se puede adjuntar las imagenes y utilizarlas para mostrarla en el cuerpo del mensaje.
@dariongg
Cuidado con el diseño de emails. Añadir css externas no te funcionará para multitud de clientes de correo.
Yo suelo meter todos los estilos en el tag <style>
, aunque las recomendaciones van más allá y dicen que lo mejor es...sí, frótate los ojos: estilos inline. Ej:
<h1 style="font-size: 14px; ..."> ... </h1>
En cuanto a las imágenes, debes enviar los assets con ruta absoluta, pero la manera que usas es poco flexible. Yo lo suelo hacer de ésta otra (para tu caso):
<img src=" {{ app.request.getSchemeAndHttpHost() ~ asset('uploads/fotos/' ~ entity.foto ~ '.jpg') }}" />
Aunque puedes rizar el rizo y crear una ruta en un controlador que devuelva una respuesta del tipo:
new BinaryFileResponse('uploads/fotos/'.foto.'.jpg');
¡Saludos y suerte!
@KePitt2
Lo que dice @KePitt2 es "horrible" ... ¡¡pero cierto!! La única manera de que los emails complejos se vean realmente bien es añadir los estilos en línea para cada etiqueta.
@javiereguiluz
Gracias, por la aclaracion... estaba en el mismo problema...
@Georkis05