【发布时间】:2018-12-13 05:58:50
【问题描述】:
我试图在我的用户注册时向他们发送一封电子邮件,我创建了一个可邮寄的类:
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class WelcomeMail extends Mailable
{
use Queueable, SerializesModels;
public $user;
public $message;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($user)
{
$this->user = $user;
$this->message = (new MailMessage)
->greeting('Bonjour '.$user->name)
->line('Nous vous remercions de votre inscription.')
->line('Pour rappel voici vos informations :')
->line('Mail: '.$user->email)
->line('Password: '.$user->password);
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('message')->with([
'slot' => $this->message
]);
}
但是如果我使用自定义模板,我必须做所有的 css 和 Html,我看到忘记密码的电子邮件使用 MailMessage,并且所有模板都已经使用 MailMessage 模板。
我有什么方法可以使用相同的模板或直接创建一个 MailMessage 模板但包含我的自定义内容?
谢谢。
【问题讨论】:
-
我认为您不应该以这种方式扩展 Mailable。你为什么不创建一个适当的通知,比如“php artisan make:notification WelcomeNotification”——laravel.com/docs/5.6/notifications#mail-notifications