无法访问属性 – Laravel

我正在尝试用Laravel发送邮件.

我有我的Mailable:

    public $message;

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

    public function build()
    {
        return $this->subject('Message from B&B Vintage Collectibles')->view('mail.direct');
    }

Controller:

namespace App\Http\Controllers;

use App\Contact;
use App\Mail\DirectMailable;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
use App\Http\Controllers\Controller;

class DirectController extends Controller
{
    public function __invoke(Request $request)
    {
        $user = $request->get('email');

        $message = new Contact();

        $message->body = $request->get('message');

        Mail::to($user)->send(new DirectMailable($message));

        return response()->json('Message sent', 200);
    }
}

在direct.blade.php中,我有这行字。

<p>{{ $message->body }}</p>

但是当我发送邮件的时候,我得到了这样的回复。

"Undefined property: Illuminate\Mail\Message::$body..."

我有其他邮件系统的设置几乎是一样的 所以我不明白为什么这个系统不能正常工作

我试过不使用模板,但邮件发送得很好。

当我 dd($message->body) 之前 Mail::to... 我得到了正确的字符串。

在通往我的 blade 文件的路上发生了什么,让我无法访问这个属性?

解决方案:

正如这个主题所讨论的 https:/laracasts.comdiscusschannelslaravellaravel-mailable-not-working?page=1。

不用 $message 变量,导致在larvel框架中发送邮件时出现错误。

你可以关注这个帖子了解更多信息。

本文来自投稿,不代表实战宝典立场,如若转载,请注明出处:https://www.shizhanbaodian.com/40443.html

(0)
上一篇 20小时前
下一篇 20小时前

相关推荐

发表评论

登录后才能评论