如何使用带有邮件外观的Laravel 5.4发送电子邮件

时间:2017-05-22 11:17:04

标签: php laravel email

我创建了一个表单来发送电子邮件。我创建了一个名为' ContactMailFull'的电子邮件文件。使用命令php artisan make:mail ContactMailFull

这是我的档案

class ContactMailFull extends Mailable
{
    use Queueable, SerializesModels;

    public $name;
    public $subject;
    public $email;
    public $description;


    public function __construct(Request $request)
    {
        $this->name        = $request->input('name');
        $this->subject     = $request->input('subject');
        $this->email       = $request->input('email');
        $this->description = $request->input('description');
    }


    public function build()
    {

        return $this->view('mails.sendFull')
                    ->subject($this->subject)
                    ->from('guess@gmail.com', 'Guess')
                    ->with([
                        'name' => $this->name,
                        'subject' => $this->subject,
                        'email' => $this->email,
                        'description' => $this->description
                    ]);
    }
}

我尝试发送电子邮件但是它不对。我知道我们必须做这样的事情。

带有Mail::to('my-email@gmail.com')

New Something但我不明白文档。我不知道我要把它放在哪里。

你能帮助我吗?

谢谢

1 个答案:

答案 0 :(得分:1)

Laravel 5.3& 5.4引入了Mailable的概念。

你完成了90%的工作。您只需使用Mail外观即可发送电子邮件。

Mail::to('john@example.com')->send(new \App\Mail\ContactMailFull($request));

此外,您还没有明确需要将变量传递给视图。默认情况下,公共属性namesubject等将可用于视图。

请参阅via Public properties

下的documentation