如何在使用 summernote 和 laravel 发送 html 电子邮件时停止 htmlentites?

How to stop htmlentites when use summernote and laravel to send html e-mail?

我在使用 Laravel 5.1 和 summernote 时遇到问题。我正在使用 summernote 撰写一封电子邮件,我将通过 angular.js 发送到 laravel 5.1 API.

我已尽我所能进行调试,但我似乎无法在 HTML 正确呈现的代码中发送电子邮件。

消息源正确显示电子邮件正在 HTML 中发送,但不知何故,电子邮件正文一直被转换为 htmlentities,然后 HTML 代码显示在电子邮件正文中收到。

我在Laravel的邮件发送命令如下

$params = json_decode(file_get_contents('php://input'),true);
$body = $params['body'];

$to_address = $params['to'];
$subject = $params['subject'];

Mail::send(['html' => 'emails.send_email'], ['body'=>$body], function ($message) use ($to_address, $subject){
        $message->from($to_address);
        $message->subject($subject);
        $message->to($to_address);

});

我在summernote中尝试过的正文文本很简单,

Test

Test

test<br>test

消息源中有这个,这导致我遇到 htmlentities 问题。

Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit

<body>
test&lt;br&gt;&lt;br&gt;test&lt;br&gt;
</body>

用于收集 summernote 详细信息的 Angular.js 代码

sendEmail($scope.to, $scope.subject, $scope.body).then(function(){
            // Clear out the compose
            $scope.subject = '';
            $scope.body = '';

            $scope.success_message_sent = true;
        }); 

然后是发送函数

    $scope.sendEmail = function(to, subject, body) {

    var deferred = $q.defer();

    var data = {
        'to': to,
        'subject': subject,
        'body': body
    };

    $http.post('http://'+ remoteServer +'/api/send_email', data)
        .success(function() { deferred.resolve(); })
        .error(function() { deferred.reject("Failed to send message");
    }); 

    return deferred.promise;

我正在使用 Mandrill 发送电子邮件。

如有任何帮助,我们将不胜感激。

谢谢

我认为这个问题来自您的模板:

在您的 emails.send_email.blade.php 中使用 {!! $body !!} 来防止 htmlentities 问题