Подтвердить что ты не робот

Как вызвать mailto в контроллере AngularJS

Я использую простую функцию обратной связи по электронной почте в приложении angular. Почта имеет предопределенный шаблон темы и контента для почты. Контроллер angular должен вызвать клиент электронной почты клиента (например, вызвать "mailto: [email protected]" ) и выполнить предопределенный объект, шаблон контента. Любое тело знает, как его реализовать?

4b9b3361

Ответ 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 не будет распознавать это как коллекцию электронных писем, и он добавит новую строку "Кому:" на каждый электронной почты из этого массива.