2013-10-21 24 views
18

Açısal uygulamada basit bir e-posta geri bildirim özelliği uygulayacağım. Postada önceden tanımlanmış posta konusu ve içerik şablonu var. Açısal denetleyicinin istemci e-posta istemcisini (örneğin "mailto: [email protected]" gibi) getirmesi ve önceden tanımlanmış konu, içerik şablonu yerine getirmesi gerekir. Herhangi bir beden onu nasıl uygulayacağını biliyor mu?AngularJS denetleyicisinde mailto nasıl çağırılır

+2

olası bir kopyası [Javascript ile e-posta gönderme] (http://stackoverflow.com/questions/271171/sending-emails-with-javascript) –

+2

Muhtemelen bir yönerge içine sarabilirsiniz. [Bir araya getirilen başka biri] (https://github.com/updatezen/angular-mailto). –

+3

Bu soruya bir cevabınız varsa, aşağıdaki cevabı (soruların bir parçası olarak değil) girmeniz ve yanıt olarak işaretlemeniz gerekir, bu nedenle bu sorunun çözülmüş olduğu diğer StackOverflow kullanıcılarına derhal bildirilir. – ClearCloud8

cevap

3

kullanım $ window.location:

$window.location = "mailto:..." 
+1

, iOS 9.1 – Sheetal

+0

'da çalışmaz, bu yeni tarayıcı sekmesine ihtiyaç duymazken, location.open() işlevi etkin değildir. Kullanıcının açılacak harici bir posta istemcisine ihtiyacı olduğundan eminseniz daha iyi görünüyor. – garfunkel61

16

enjekte $window ve $window.open() yöntemini kullanın. Kontrolör tanımlamak İçinde

...

$scope.sendMail = function(emailId,subject,message){ 
    $window.open("mailto:"+ emailId + "?subject=" + subject+"&body="+message,"_self"); 
}; 

ve benzeri diyoruz ...

$scope.sendMail("[email protected]","Mail Subject","Mail Body Message"); 
0

Bu, kullanıcıların ayarlarına bağlı olarak Google posta veya e-posta istemcisi için yeni bir sekme açmak gerekir. Eğik JS

: şöyle kontrolördeki Concatenate dize:

<a ng-href="{{mailLink}}" target="_blank">Send</a> 
0

location.href zamanda çalışan

$scope.mailLink = "mailto:" + $scope.emailId + "?subject=" + $scope.Subject + '&body=' + $scope.bodyText; 

html!

$scope.email = function(item){ 
    location.href= 'mailto:' + $scope.allemails (array) + '?subject=Subject you want'; 
} 

Not: $scope.allemails bir diziyi varsa ve yöntemi .join(', ') kullanacaksa - thunderbringer e-posta istemcisi e-postaların bir koleksiyon olarak bu tanımaz ve yeni bir satır ekler 'Kime:' Her etmek bu diziden e-posta.

İlgili konular