【问题标题】:didn't send mail body in laravel mail没有在 laravel 邮件中发送邮件正文
【发布时间】:2020-01-17 13:13:44
【问题描述】:

在基于 laravel 的电子邮件发送联系人没有发送邮件正文。只在邮件中发送主题。如何发送邮件正文?

我试过了

$message->setBody($daE['message']);

但没用

控制器.php

public function contact(Request $request)
{

    $daE = array(
        'name'=> $request->name,
        'email'=> $request->email,
        'subject'=> $request->subject,
        'message'=> $request->message,

    );
    Mail::send('mymail', $daE, function ($message) use($daE)
    {    
        $message->from($daE['email']);
        $message->to('taomihiranga@gmail.com');
        $message->subject($daE['subject']);
        $message->setBody($daE['message']);

    });

    return view('contact');
}

联系.blade.php

<form class="row contact_form" action="/contactsend" method="post" 
 id="contactForm" novalidate="novalidate">
                    <div class="col-md-6">{{csrf_field()}}
                        <div class="form-group">
                            <input type="text" class="form-control" id="name" name="name" placeholder="Enter your name" onfocus="this.placeholder = ''" onblur="this.placeholder = 'Enter your name'">
                        </div>
                        <div class="form-group">
                            <input type="email" class="form-control" id="email" name="email" placeholder="Enter email address" onfocus="this.placeholder = ''" onblur="this.placeholder = 'Enter email address'">
                        </div>
                        <div class="form-group">
                            <input type="text" class="form-control" id="subject" name="subject" placeholder="Enter Subject" onfocus="this.placeholder = ''" onblur="this.placeholder = 'Enter Subject'">
                        </div>
                    </div>
                    <div class="col-md-6">
                        <div class="form-group">
                            <textarea class="form-control" name="message" id="message" rows="1" placeholder="Enter Message" onfocus="this.placeholder = ''" onblur="this.placeholder = 'Enter Message'"></textarea>
                        </div>
                    </div>
                    <div class="col-md-12 text-right">
                        <button type="submit" value="submit" class="primary-btn">Send Message</button>
                    </div>
                </form>

没有错误信息发送邮件并且不能发送邮件正文

【问题讨论】:

  • Mail::send() 可能返回的内容表明发生了什么,您应该检查一下。
  • Mail::send 的第一个参数将是创建电子邮件正文的视图的名称。您不需要使用setBody 来分配值。
  • 我用$message-&gt;setBody($daE['message']); 试过了,但没用。你能用我的代码给我一个固定的代码

标签: php laravel laravel-5


【解决方案1】:

正如@aynber 所说,第一个参数应该是刀片模板。然后在第二个参数中,您应该传递要在刀片模板(即您的电子邮件正文)中显示的数据。

所以你不需要 setBody() 方法,因为你的 body 是 email 方法的第一个参数,然后自定义你的 body 使用第二个参数注入数据。

这里是详细文档的链接:https://laravel.com/docs/5.0/mail#basic-usage

【讨论】:

    猜你喜欢
    • 2021-03-08
    • 2020-02-18
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 2018-12-09
    • 2018-05-12
    • 2014-11-18
    • 2015-02-26
    相关资源
    最近更新 更多