如何在laravel中不包含html的情况下发送邮件?

时间:2018-12-27 06:21:51

标签: php laravel email

我正在尝试通过Laravel发送邮件。这是我的代码:

邮件文件夹内的sendmailable.php文件

<?php

namespace App\Mail;

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

class SendMailable extends Mailable
{
    use Queueable, SerializesModels;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

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

我的控制器代码是:

$data= ['name'=>'sakal de boss'];
            Mail::send(['text'=>'mail'],$data, function($message){
            $message->to($to, 'sakal')->subject('ami mail korsi');
            $message->from($from,'sakal');
        });

        echo 'hey';
         }

查看页面:

<div>
    Hi, This is : {{ $name }}
</div>

我的视图页面上没有其他标签,但是邮件中仍然有html标签。

这是我收到的邮件。

邮件输出:

enter image description here

3 个答案:

答案 0 :(得分:2)

在您的 .blade.php 文件中尝试以下操作:(查看

{!! $name !!}

代替此:(这将呈现您的 HTML

{{ $name }}

答案 1 :(得分:2)

使用{!! $name !!}<?= $name ?> 而不是{{ $name }}

OR

Mail::send(['html.view', 'text.view'], $data, $callback);

答案 2 :(得分:2)

您的第一个参数'text'将被视为普通邮件,因此请尝试以下

Mail::send('email view name',$data, function($message){
            $message->to($to, 'sakal')->subject('ami mail korsi');
            $message->from($from,'sakal');
        });

Mail::send( ['html' => 'email view name'], $data, function($message){
                $message->to($to, 'sakal')->subject('ami mail korsi');
                $message->from($from,'sakal');
            });