AngularJS mailto не отправляет электронные письма

Я использую следующий код, чтобы пользователи моего приложения AngularJS могли отправлять электронные письма с помощью своего любимого почтового клиента, но когда я нажимаю кнопку "Отправить", ничего не происходит. Может кто-нибудь, пожалуйста, проверьте мой код и скажите мне, что именно я здесь отсутствует? Благодаря

<button type="button" ng-click="sendEmail(message.Email, message.subject, message.body)" >Send</button>

Код контроллера:

    $scope.sendEmail = function(email, subject, body){
        var link = "mailto:"+ email
                 + "&subject=New email " + escape(subject);
                 + "&body=" + escape(body); 

        window.location.href = link;
     };

Ответ 1

2 вещи, которые я могу думать, могут быть ошибочными здесь.

Во-первых, пробелы не являются допустимыми символами объекта. Возможно, вам придется заменить это на %20.

Во-вторых, вам нужно будет изменить & до того, как объект будет . В противном случае он попытается отправить электронное письмо на адрес, включая все параметры объекта и тела...

Можете ли вы попробовать это:

$scope.sendEmail = function(email, subject, body) {
    var link = "mailto:"+ email
             + "?subject=New%20email " + escape(subject)
             + "&body=" + escape(body); 

    window.location.href = link;
 };

Вы можете просмотреть дополнительную информацию здесь: http://en.wikipedia.org/wiki/Mailto

Ответ 2

Если кто-то все еще использует ответ с сохраненным ответом, не забудьте удалить полуколонную колонку на предмет выхода.

+ escape(subject);

должен быть:

+ escape(subject)