سلام. من به وسیله Mail::to چند پارامتر برای کلاس ارسال ایمیل فرستادم. که یکی ازین پارامترها عنوان ایمیل است و میخوام بصورت داینامیک تغییر داده بشه. مشکل اینه که در تابع build قادر به دریافت متغییر نیستم. متغییر را بصورت public و private دریافت کردم ولی تاثیری نداشت.
ارسال اطلاعات:
public function store(Request $request)
{
$this->validate($request,[
'Received'=>'required',
]);
$title=Request('title');
$Received=explode(',',Request('Received'));
$cc=explode(',',Request('Received-cc'));
$body=Request('body');
Mail::to($Received)
->cc($cc)
->send(new EmailSender($body,$title));
}
دریافت اطلاعات در کلاس ارسال ایمیل:
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class EmailSender extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public $body;
public $title;
public function __construct($body,$title)
{
$this->body = $body;
$this->title = $title;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->subject($this->subject)
->view('emails.SendEmail');
}
}
خب تویی متد construct متغییری به نام subject نداری!
public function __construct($body,$title)
{
$this->body = $body;
$this->title = $title;
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟