我想在用戶註冊後發送一些電子郵件。 但是,它的工作。我沒有收到我的SMTP郵件中的電子郵件。我正在使用mailtrap.io。Laravel 5.2 - 用戶註冊後發送歡迎郵件
我已經設置了一個註冊事件,並且有一個監聽器給NewUserRegistered。
在我的NewUserRegistered 控制器\身份驗證\ AuthController如下:
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\User;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Log;
use Validator;
use Mail;
class AuthController extends Controller {
/*
|--------------------------------------------------------------------------
| Registration & Login Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users, as well as the
| authentication of existing users. By default, this controller uses
| a simple trait to add these behaviors. Why don't you explore it?
|
*/
use AuthenticatesAndRegistersUsers, ThrottlesLogins;
/**
* Where to redirect users after login/registration.
*
* @var string
*/
protected $redirectTo = '/';
/**
* Create a new authentication controller instance.
*
* @return void
*/
public function __construct() {
$this->middleware($this->guestMiddleware(), [
'except' => 'logout'
]);
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data) {
return Validator::make($data, [
'name' => 'required|max:255',
'matric' => 'required|max:5',
'faculty' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
'address' => 'required',
'phone' => 'required',
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
protected function create(array $data) {
return User::create([
'name' => $data['name'],
'matric' => $data['matric'],
'faculty' => $data['faculty'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
'address' => $data['address'],
'phone' => $data['phone'],
]);
event(new Registered($user));
//sreturn User;
}
}
在我的註冊活動如下:
<?php
namespace App\Events;
use App\Events\Registered;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class Registered extends Event
{
use SerializesModels;
/**
* @var
*/
public $user;
/**
* Create a new event instance.
*
* @param $user
*/
public function __construct($user)
{
//
$this->user = $user;
}
/**
* Get the channels the event should be broadcast on.
*
* @return array
*/
public function broadcastOn()
{
return [];
}
}
在我的NewUserRegistered 聽衆如下:
<?php
namespace App\Listeners;
use App\Events\Registered;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Mailer;
use Mail;
class NewUserRegistered
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct(Mailer $mailer)
{
$this->mailer = $mailer;
}
/**
* Handle the event.
*
* @param Registered $event
* @return void
*/
public function welcome(Registered $event)
{
$data = [
'user' => $event->user,
'from' => '[email protected]',
'subject' => 'Welcome to test'
];
$this->mailer->send('emails.auth.verify', $data, function($message) {
$message->to($data['user']->email, $data['user']->matric)
->subject($data['subject']);
});
}
}
您是否調試過您的應用程序? –