gpt4 book ai didi

Laravel - 将自定义数据传递到电子邮件 View

转载 作者:行者123 更新时间:2023-12-02 10:32:29 25 4
gpt4 key购买 nike

根据上一个问题,我设置了一个电子邮件 Controller 以将用户数据正确传递到 View 。我现在正在尝试修改它,以便我可以传递一些自定义数据。我的 Controller 看起来像这样...

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class Welcome extends Mailable
{
use Queueable, SerializesModels;

public $email_data;

public function __construct($email_data)
{
$this->email_data = $email_data;
}

public function build()
{
return $this->view('emails.welcome')->with(['email_data' => $this->email_data]);
}
}

我正在发送这样的电子邮件...

  /* Create Data Array For Email */
$email_data = array(
'first_name'=>'John',
'last_name'=>'Doe',
'email'=>'john@doe.com',
'password'=>'temp',
);

/* Send Email */
Mail::to($user->email)->send(new Welcome($email_data));

这是正确的吗?当我尝试使用此方法时,它似乎没有将数据传递到电子邮件模板。然后我如何在 View 中访问这些数据?

最佳答案

这个方法你试过吗?

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class Welcome extends Mailable
{
use Queueable, SerializesModels;

public $data;

public function __construct($data)
{
$this->data = $data;
}

public function build()
{
return $this->view('emails.welcome')->with('data', $this->data);
}
}

然后在您创建数据数组的 Controller 中,

$data = [
'first_name'=>'John',
'last_name'=>'Doe',
'email'=>'john@doe.com',
'password'=>'temp'
];

\Mail::to($user->email)->send(new Welcome($data));

请确保添加

use Mail;
use App\Mail\Welcome;

在你的 Controller 中。

您可以像这样访问 View 中的数据

{{ $data['first_name'] }}
{{ $data['last_name'] }}
{{ $data['email'] }}
{{ $data['password'] }}

您也可以尝试Markdown mails为此

关于Laravel - 将自定义数据传递到电子邮件 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51657275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com