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)