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

Envio de email desde un servicio Symfony que utiliza "autowiring"

15 de octubre de 2016

Hola a todos, estoy intentando enviar un email desde un servicio, pero ni me da error ni envia el mensaje , desde el controlador lo envía sin problema, cambiado el render por renderView. Un saludo

El services.yml:

email_manager:
        class: AdminBundle\Email\Email
        autowire: true

Y el servicio

use Symfony\Component\Templating\EngineInterface;
 
class Email {
    protected $mailer;
    protected $templating;
 
    public function __construct(\Swift_Mailer $mailer, EngineInterface $templating) {
        $this->mailer = $mailer;
        $this->templating = $templating;
    }
 
    public function sendEmailRegister($email,$password) {
 
    $message =  $this->mailer->createMessage()
        ->setSubject('Hello Email')
        ->setFrom("[email protected]")
        ->setTo($email)
        ->setBody(
            $this->templating->render(
                ':Admin:Emails/registration_director.html.twig',
                array('user' =>$email,"password"=>$password)
            ),
            'text/html'
        );
 
        if($this->mailer->send($message))
                return true;
        return false;
    }

Respuestas

#1

Como no utilizo autowire, no se si podría estar produciéndose un error relacionado con eso, aunque parece poco probable.

En cualquier caso, el código parece correcto, así que te preguntaría si ves algún mensaje de error en los archivos de log o en la barra de depuración web o en el profiler de Symfony.

@javiereguiluz

15 octubre 2016, 18:46
#2

Tampoco aparecen mensajes de error en el log, no a que se puede deber, seguire haciendo pruebas a ver si lo puedo solucionar, un saludo y gracias

@link4your

15 octubre 2016, 18:51
#3

Podrías probar la segunda opción de @javiereguiluz y revisar en el profiler la petición específica que estas haciendo, ahí en el menú del email deberías ver que esta pasando con los correos, en caso de que se envien te sadrían los datos del mismo y en caso contrario que error dio, me sucedió hace unos días que no se estaban enviando los mails y cuando revise era que estaba dando error en la conexión con el servidor y googleando encontré que debía cambiar el puerto a 587.

Saludos.

@RoberRielo

20 octubre 2016, 18:11