Я использую простую функцию обратной связи по электронной почте в приложении angular. Почта имеет предопределенный шаблон темы и контента для почты. Контроллер angular должен вызвать клиент электронной почты клиента (например, вызвать "mailto: [email protected]" ) и выполнить предопределенный объект, шаблон контента. Любое тело знает, как его реализовать?
Как вызвать mailto в контроллере AngularJS
Ответ 1
Вставить $window
и использовать метод $window.open()
.
Внутренний контроллер определяет...
$scope.sendMail = function(emailId,subject,message){
$window.open("mailto:"+ emailId + "?subject=" + subject+"&body="+message,"_self");
};
и назовите его как...
$scope.sendMail("[email protected]","Mail Subject","Mail Body Message");
Ответ 2
используйте $window.location:
$window.location = "mailto:..."
Ответ 3
Это должно открыть новую вкладку для почты Google или почтового клиента в зависимости от настроек пользователей.
В Angular JS: объединить строку в контроллер следующим образом:
$scope.mailLink = "mailto:" + $scope.emailId + "?subject=" + $scope.Subject + '&body=' + $scope.bodyText;
HTML
<a ng-href="{{mailLink}}" target="_blank">Send</a>
Ответ 4
location.href
работает тоже!
$scope.email = function(item){
location.href= 'mailto:' + $scope.allemails (array) + '?subject=Subject you want';
}
Примечание. Если у вас есть массив в $scope.allemails
, и вы будете использовать метод .join(', ')
- почтовый клиент thunderbringer не будет распознавать это как коллекцию электронных писем, и он добавит новую строку "Кому:" на каждый электронной почты из этого массива.