Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Enviar email con imagenes en symfony 2.1

13 de enero de 2016

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

#1

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

13 enero 2016, 22:26
#2

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

14 enero 2016, 13:51
#3

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

19 enero 2016, 11:29
#4

Gracias, por la aclaracion... estaba en el mismo problema...

@Georkis05

14 diciembre 2017, 17:14