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
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
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
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