summernoteとlaravelを使用してhtml電子メールを送信するときにhtmlentitesを停止するにはどうすればよいですか?

ブレントR

Laravel5.1とsummernoteに問題があります。私はsummernoteを使用して、angular.jsを介してlaravel 5.1APIに送信する電子メールを作成しています。

できる限りデバッグしましたが、正しくレンダリングされるHTMLコードでメールを送信できないようです。

メッセージソースは、電子メールがHTMLで送信されていることを正しく示していますが、どういうわけか、電子メールの本文はhtmlエンティティに変換され続け、受信時に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>

サマーノートの詳細を収集するための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;

メールの送信にマンドリルを使用しています。

どんな援助も大歓迎です。

ありがとう

エメカ・ムバ

この問題はあなたのテンプレートから来ていると思います:

あなたにはemails.send_email.blade.php、使用{!! $body !!}にhtmlentities問題を防ぐために

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ