首页 > 解决方案 > 如何在控制器中发送参数以在 Laravel 8 Mail 中查看

问题描述

我在 Laravel 8 中创建系统。如果它在系统内有选项管理员用户注册。我需要发送电子邮件以使用电子邮件和密码创建用户。我创建 php 邮件类如下

<?php

namespace App\Mail;

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

class RegisterMail extends Mailable
{
    use Queueable, SerializesModels;


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

    public function build()
    {
        return $this->markdown('emails.register')
               ->subject('Register SLeAgro Agricultural Product Distribution System');
    }
}

所以在用户创建控制器中我访问邮件类如下

     $data1 = [
               'email' => $request->email,
               'password' => $code
            ];
    
            $mail = new registerMail();
    
            Mail::to($request->email)->send($mail)

;

我的问题是如何将 $data1 数据发送到以查看用户名和密码?

@component('mail::message')
# Welcome SleAgro Agricultural Product Management System

you can loging to the system using following credetail .

User name :
<br> 
password : 

@component('mail::button', ['url' => 'http://127.0.0.1:8000/login'])
Login
@endcomponent

Thanks,<br>
{{ config('app.name') }}
@endcomponent

你能给我办法吗

标签: phplaravelemailcontroller

解决方案


试试这个代码

在注册邮件

    private $data;

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

    public function build()
    {
        return $this->markdown('emails.register',[ 'data' => $this->data])
               ->subject('Register SLeAgro Agricultural Product Distribution System');
    }

在控制器

     $data1 = [
               'email' => $request->email,
               'password' => $code
            ];
    
     $mail = new RegisterMail($data1);
    
     Mail::to($request->email)->send($mail);

刀片的最后一件事,您可以$data像刀片中的任何变量一样使用变量。


推荐阅读