Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Douglas Magno

Eventos da Laravel não fazem enviou de E-mails

Recommended Posts

Olá pessoal, estou trabalhando com Laravel e não consigo fazer com que meu Evento de disparar um email para o usuário seja efetuado. Segue os códigos abaixo:

- Controller:

<?php

namespace pedidos\Http\Controllers;

use Event;


use pedidos\User;

use Illuminate\Http\Request;

use pedidos\Http\Requests;

use pedidos\Events\App\Events\PostUserRegister;
class UsersController extends Controller
{
    public function mail()
	{
       	$user = User::find(1);
		return Event::fire(new PostUserRegister($user));
	}
}

- Event PostUserRegister

<?php

namespace pedidos\Events\App\Events;

use Event;
use pedidos\User;
use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;

class PostUserRegister extends Event
{
    use InteractsWithSockets, SerializesModels;

    /**
     * Create a new event instance.
     *
     * @return void
     */
    private $user;

    public function __construct(User $user)
    {
        $this->user = $user;
    }

    public function get_user()
    {
        return $this->user;
    }

    /**
     * Get the channels the event should broadcast on.
     *
     * @return Channel|array
     */
    public function broadcastOn()
    {
        return new PrivateChannel('channel-name');
    }
}

-Listeners SendWelcomeEmail

<?php

namespace pedidos\Listeners\App\Listeners;

use Mail;
use pedidos\Events\App\Events\PostUserRegister;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;

class SendWelcomeEmail
{
    /**
     * Create the event listener.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Handle the event.
     *
     * @param  PostUserRegister  $event
     * @return void
     */
    public function handle(PostUserRegister $event)
    {
        $user = $event->get_user();
        Mail::send('errors.503', ['user' => $user], function ($m) use ($user) {
            $m->to($user->email, $user->name)->subject('Welcome my Friend!');
        });
    }
}

Ele apenas retorna "[]".

O que pode estar acontecendo???

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.