<?php namespace App\Mail; use App\User; use Illuminate\Bus\Queueable; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; use Illuminate\Contracts\Queue\ShouldQueue; class Welcome extends Mailable { use Queueable, SerializesModels; /** * With Mailable descendents, any public property is available to view(). * * Or you could pass them manually. * * @var User * * @see Mailable::buildViewData() */ public $user; /** * Create a new message instance. */ public function __construct(User $user) { $this->user = $user; } /** * Build the message. * * @return $this */ public function build() { return $this->view('emails.welcome') // Not needed because $this->user is public. // ->with(['user' => $this->user]) ; } }