1. 生成本地模板的邮件
php artisan make:mail SendEmail --markdown=emails.sendemail
2. 传入参数
在新建的mail类中我们使用with传入参数,使用subject定义主题,以及不知道拿来干什么的用户数据
public $user;
public $subject;
public $arsenalUrl;
public function __construct($data)
{
$this->user = $data['user'];
$this->subject = $data['subject'];
$this->arsenalUrl = $data['url'];
}
public function build()
{
return $this->markdown('emails.sendemail')
->with([
'url' => $this->arsenalUrl,
]);
}
3. 修改本地视图模板
在视图文件夹中的emails可以找到sendemail模板,注意除了subcopy,写入文字时不要用缩进,laravel本地模板使用的是markdown写法,在一定程度上支持markdown
详细请参考https://laravel-china.org/docs/laravel/5.5/mail/1321
@component('mail::message')
# 您好!
## 您之所以收到这封邮件是因为我们收到了您重置密码的申请。
## 如果您本人未进行密码重置,您可以不必采取进一步操作
@component('mail::button', ['url' => $url])
重置密码
@endcomponent
Thanks,<br>
{{ config('app.name') }}
@component('mail::subcopy')
如果你无法点击 重置密码 按钮, 复制以下链接到浏览器中: [{{ '重置密码链接' }}]({{ $url }})
@endcomponent
@endcomponent
4.调用
第一个参数传入用户的email.第二个实例化你创建的邮件类,并传入你自定的数据
Mail::to($userData->email)->send(new SendEmail($data));