当前位置: 首页 > 知识库问答 >
问题:

Laravel邮件视图未呈现

柴高岑
2023-03-14

我使用Queue发送电子邮件,代码如下:

   <?php

namespace App\Mail;

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

class testNotify extends Mailable implements ShouldQueue
{
    use Queueable, SerializesModels;

    public $data;

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

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

在控制器部分,我使用send-

public function send(Request $request)
    {
        $data = $request->Text;
        Mail::to('anymail@gmail.com')->send(new testNotify($data));
        \Session::put('successmessage','Sent');
        return Redirect::back(); 
    } 

我正在使用视图:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
 <title>Laravel Send Email Example</title>
</head>
<body>

 <h1>Thank you, {{ $data }}</h1>

</body>
</html> 

现在,当我尝试发送时,收到的电子邮件中没有任何内容。

我已经调试了整个供应商\laravel\framework\src\illighted\Mail\Mailer。php类并发现renderView函数中无法呈现视图。

protected function renderView($view, $data)
{
    return $view instanceof Htmlable
                    ? $view->toHtml()
                    : $this->views->make($view, $data)->render();
}

我还将视图Doctype更改为HTML5,但得到了相同的结果,没有内容。

渲染视图正在执行视图-

我使用的视图HTML代码是否正确?或者我是否缺少队列中的任何配置。

请注意,当我删除implements ShouldQueue时。我得到了内容。

非常感谢任何指导或帮助。

共有1个答案

夏长卿
2023-03-14

问题解决了。。。无法访问日志文件。。。当我们发送电子邮件时,系统会写入一些日志。如果授予适当的日志和其他目录权限。。。我能够接收内容。谢谢大家的帮助。

 类似资料:
  • 我正在尝试使用Laravel默认邮件外观发送电子邮件:- 在Mail\NotifyUserExpiring中:- 在网络上。邮政NotifyUserExpiring视图文件我正在使用刀片打印方式变量:- 当我检查我的邮件收件箱时,我收到了一封带有{{$user的电子邮件- 你好{{$user-

  • 问题内容: 我对laravel视图有问题,找不到路由函数,我做了作曲家dumpautoload但没有使用ArticleController.php InvalidArgumentException 问题答案: 当Laravel在您的应用程序中找不到视图文件时,就会发生这种情况。确保你有一个文件名为:或者你在目录中。 请注意,在调用时Laravel将执行以下操作: 对于Laravel,它将查找文件:

  • 问题内容: 我网站的主页顶部有多个按钮。只要按下这些按钮之一,就会将获取请求发送到django视图,该视图将被重定向,并过滤django模型的查询集并最终显示在网页上。我知道我的ajax可以正常工作,因为终端说请求已正确重定向。重定向到的功能似乎也很有效,因为它非常简单并且没有引发任何错误。但是,我的看法不变,我不确定为什么。 urls.py views.py 问题答案: 您不能在您的情况下使用D

  • Im my routes.php我有以下内容: 当我的数据库还没有表,我想进行php artisan迁移时,结果是:SQLSTATE[42S02]:找不到基表或视图:1146表“ae_dev.categories”不存在 我的迁移文件: 我认为Laravel托盘从routes.php调用类别,想做选择或某种想法,所以我想运行创建类别表的迁移,但上述错误是在... 我怎样才能解决这个问题?

  • 问题内容: 我有一个基本的node.js应用程序,我正在尝试使用Express框架。我有一个存放文件的文件夹。但是加载网络浏览器时收到以下错误。 错误:找不到模块“ html” 下面是我的代码。 我在这里想念什么? 问题答案: 您可以让jade包含一个普通的HTML页面: 在views / index.jade中 在views / plain.html中 而且app.js仍然可以渲染jade:

  • 所以我在表单中有一个所见即所得的字段,在检索数据时,html标签没有正确呈现。超文本标记语言标记仍然显示在窗体中。我在这里尝试了一些解决方案,我也相信这是解析laravel刀片中超文本标记语言标签的最佳方式。我也尝试过这样做: 但它仍然失败了。显示的数据仍然是原始数据。 数据 刃锉 更新 DD数据