【问题标题】:Laravel Mail redirect with message ignoredLaravel 邮件重定向,邮件被忽略
【发布时间】:2015-06-19 23:49:02
【问题描述】:

我将 Laravel 邮件功能与 使用消息重定向,但它没有捕获消息

这是我的控制器

public function send(ContactFormRequest $request)
{
    \Mail::send('emails.contact',
        array(
            'name' => $request->get('name'),
            'email' => $request->get('email'),
            'msg' => $request->get('msg')
        ), function ($body) {
            $body->to(env('ADMIN_EMAIL'), env('ADMIN_NAME'))->subject('Sap Contactformulier');
        });

    return redirect('/')->with('message', 'Uw aanvraag is verzonden');
}

这是我试图捕捉信息的观点

@if(Session::has('message'))
    <div class="alert alert-success" id="message">{{ Session::get('message') }}</div>
@endif

知道我可能做错了什么吗?谢谢!

工作

我使用以下方法让它工作

@if (!empty( Session::get('success') ))
    {{ Session::get('success') }}
@endif

还有我的控制器

return redirect('/')->with('success', 'Uw contact aanvraag is verzonden');

【问题讨论】:

  • -&gt;with('message', 'Uw aanvraag is verzonden - 这会将一个变量注入到视图中,所以如果你想打印它,你必须像 @if (!empty($message)) {{ $message }} 那样做。如果您想通过会话传递它,请在重定向之前执行Session::set('message', 'Uw aanvraag is verzonden');
  • 嗯,它仍然无法正常工作。在 laravel 文档中也找不到这样做的好方法。感谢您的回复
  • @KaloyanDoichinov 这完全是错误的。有不同的with() 方法:github.com/laravel/framework/blob/5.0/src/Illuminate/Http/…
  • 所以这应该可以工作 // 控制器返回重定向('/')->with('success', 'Uw aanvraag is verzonden'); // 查看 if (!empty($success)) {{ $success }} endif
  • 呸,我在想View::make()-&gt;with(),对不起,我错了。

标签: php laravel


【解决方案1】:

来自 Laravel 文档http://laravel.com/docs/5.0/mail#basic-usage的注释

注意:$message 变量总是传递给电子邮件视图,并允许 附件的内联嵌入。所以,最好避免通过 视图负载中的消息变量。

将“消息”更改为其他内容,它应该可以工作。

【讨论】:

  • 您的意思是您不能将“消息”传递到视图本身。这给出了一个错误。这就是我使用“msg”的原因,正如您在邮件回调中看到的那样
  • 但是,您的redirect('/')-&gt;with([....]) 行所做的基本相同(将变量传递到视图中)。
猜你喜欢
  • 2018-09-12
  • 1970-01-01
  • 1970-01-01
  • 2013-02-19
  • 2016-07-01
  • 2018-06-09
  • 2021-02-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多