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<br><br>test<br>
</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]
コメントを追加