我遇到了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<br><br>test<br>
</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发送电子邮件。
非常感谢任何协助。
由于
答案 0 :(得分:1)
我认为此问题来自您的模板:
在emails.send_email.blade.php
使用{!! $body !!}
以防止出现问题