首页 文章

Laravel将数据从控制器传递到邮件查看器

提问于
浏览
-1

我试图将一个变量从控制器传递到邮件发送类,所以当用户创建一个新帐户时,他的密码将被发送到他的电子邮件 .

这是我的Controller类/ app / Http / Controllers

public function store(Request $request)
{

    $data = uniqid();

    Mail::to('mymail@mail.com')->send(new UserAccount($data));

    //return back();
}

这是Mail类App \ Mail:

<?php

namespace App\Mail;

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

class UserAccount extends Mailable
{
    use Queueable, SerializesModels;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public $password;
    //protected $password;
    public function __construct($data)
    {
        $this->passowrd = $data;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->view('mail.UserAccount');
    }
}

mail.UserAccount视图文件: -

<table>
    <tr>
        <td>Email Address:</td>
        <td></td>
    </tr>
    <tr>
        <td>Password:</td>
        <td>{{$password}}</td>
    </tr>


</table>

当我收到一封空密码的电子邮件时 .

3 回答

  • 0

    @linktoahref

    检查passowrd和密码有拼写差异!

    解决了

  • -1

    在邮件类中更改你的构建函数

    像这样

    public function build()
        {
            return $this->view('mail.UserAccount')->with([
                            'password' => $this->password,
                        ]);;
        }
    
  • 1

    而不是所有在控制器中尝试这个

    Mail::send('mail.UserAccount', ['password'=>$password], function ($m) use ($request_email) {
                        $m->from('fromemail@gmail.com', 'XYZ');
                        $m->to($request_email)->subject('YOUR SUBJECT');
    

相关问题