0

我搜索了发送电子邮件,但我不知道为什么该代码不起作用。因此,我尝试为具有密码重置或其他功能的用户创建一个自动发送电子邮件的主题。

我发现我可以在 mail.php 中为电子邮件帐户创建所有机密,这会起作用。在我尝试通过 Mailable 向电子邮件添加一些变量的那一刻,所有事情都正常工作。

邮件控制器.php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Mail\OrderShipped;
use App\Models\User;

class MailController extends Controller
{
    public function test(Request $request) 
    {
        $user = User::find(Auth::user()->id);
        Mail::to($user->email)->send(new OrderShipped($user));

        return 'tak';
    }
}

网页.php

Route::get('/test', [MailController::class, 'test']);

OrderShipped.php

命名空间应用\邮件;

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

use App\Models\User;

class OrderShipped extends Mailable
{
    use Queueable, SerializesModels;

    public $username;

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

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->from('snkrsdeals.pl@gmail.com', 'Test')
                    ->view('emails.basic');
    }
}

毕竟我有一个错误,比如:

函数 App\Mail\OrderShipped::__construct() 的参数太少,在 laravel->serializable-closure://function () { \Illuminate\Support\Facades\Mail::to(\Auth::user( ))->发送(新的\App\Mail\OrderShipped);返回 \view('欢迎'); } 在第 3 行,正好 1 预期

并且 laravel 在 Exeption Handler 中将此行设为红色:

公共函数 __construct($username)

有什么想法有什么问题吗?在 Laravel 9 中,docks 是一个非常相似的例子。

4

0 回答 0