2017-12-14 13 views
0

새로 등록 된 사용자에게 이메일을 보내려하지만 어떤 이유로 이메일이 전송되지 않습니다. 나는 다음과 같은 한 :Mail :: to php Laravel

응용 프로그램/HTTP/컨트롤러/인증/RegisterController.php

protected function create(array $data) 
{ 
    $user = User::create([ 
     'email' => $data['email'], 
     'password' => bcrypt($data['password']), 
    ]); 
    Mail::to($data['email'])->send(new WelcomeMail($user)); 

    return $user; 
} 

응용 프로그램/메일/WelcomeMail.php

class WelcomeMail extends Mailable 
{ 
    use Queueable, SerializesModels; 

    public $user; 

    /** 
    * Create a new message instance. 
    * 
    * @return void 
    */ 
    public function __construct($user) 
    { 
     $this->user = $user; 
    } 

    /** 
    * Build the message. 
    * 
    * @return $this 
    */ 
    public function build() 
    { 
     return $this->view('emails.welcome'); 
    } 
} 

응용 프로그램/HTTP/컨트롤러/Auth/WelcomeController.php

class WelcomeController extends Controller 
{ 
    /** 
    * Send Verification Email 
    * 
    * @param Request $request 
    * @return Response 
    */ 
    public function sendEmail(Request $request) 
    { 
     Mail::to($request->user())->send(new WelcomeMail($user)); 
    } 
} 

bladeresources/views/emails/welcome.blade.php입니다.

WelcomeMail 컨트롤러를 활성화하는 경로가 누락 된 것 같습니까?

나는 그것을 수동으로

Route::get('/mailable', function (Request $request) { 
    $user = $request->user(); 

    return new App\Mail\WelcomeMail($user); 
}); 

어떤 생각이 무슨 문제가 될 수있는 경로로 시도 할 때마다 작동하기 때문에 블레이드는 잘 알아?

편집

MAIL_DRIVER=smtp 
MAIL_HOST=smtp.mailtrap.io 
MAIL_PORT=2525 
MAIL_USERNAME=9d1204*** 
MAIL_PASSWORD=7919be*** 
MAIL_ENCRYPTION=null 
+0

.env 파일도 공유 할 수 있습니까? –

+0

@PaulSantos 예. 편집 된 – Nik

+1

시스템에'smtp' 명령이 설치되어 있습니까? 'mail' 명령에 지쳤습니까? –

답변

1

당신의 .env의에 syncQUEUE_DRIVER 값을 변경 시도와 같은 상황이 발생할 경우를 참조하십시오.

+0

결과가 변경되지 않는 것 같습니다. 새 컨트롤러는 여전히 실행되지 않습니다. 내가 'Mail :: to'를'RegisterController'에 가지고 있기 때문에 그것이 맞는지 확실치 않습니다. – Nik