为了账号安全,请及时绑定邮箱和手机立即绑定

邮寄独特的邮件 (Laravel)

邮寄独特的邮件 (Laravel)

PHP
慕工程0101907 2023-08-26 17:51:27
告诉我应该用哪种方式思考。我一次向多个地址发送邮件。我形成一个视图,将其发送到地址。每封电子邮件必须包含从模型中所有用户中选择的唯一用户名。因此,每个用户都应该有自己的视图(带有他们的名字)。问题是 - 如何为邮件列表中的每封电子邮件创建唯一的视图?我不能这样写,因为所有用户都会收到包含所有用户名列表的同一封电子邮件:$foreach ($users as $user) {{ $user->name }} @endforeach以及如何获得每个用户在信中得到他们的名字的结果?
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

您需要单独发送每个用户的电子邮件,将用户数据传递到您创建的可邮寄类。


<?php


namespace App\Mail;


use App\User;

use Illuminate\Bus\Queueable;

use Illuminate\Mail\Mailable;

use Illuminate\Queue\SerializesModels;


class MyCustomUserMail extends Mailable

{

    use Queueable, SerializesModels;


    public $user;


    public function __construct(User $user)

    {

        $this->user = $user;

    }


    public function build()

    {

        return $this->view('emails.users.my_custom_user_view');

    }

}

在您的自定义视图中:


{{ $user->name }}

发送电子邮件:


<?php


namespace App\Http\Controllers;


use App\Http\Controllers\Controller;

use App\Mail\MyCustomUserMail;

use App\User;

use Illuminate\Http\Request;

use Illuminate\Support\Facades\Mail;


class UserController extends Controller

{

    public function doSomething()

    {

        $users = User::all();


        $users->each(function ($user) {

            Mail::to($user->email)->send(new MyCustomUserMail($user));

        });

    }

}



查看完整回答
反对 回复 2023-08-26
  • 1 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信