20

angularアプリに簡単な電子メールフィードバック機能を実装しています。メールには、事前定義されたメールの件名とコンテンツ テンプレートがあります。angular コントローラーは、クライアントの電子メール クライアント ("mailto:foo@bar.com" の呼び出しなど) を起動し、定義済みの件名、コンテンツ テンプレートを満たす必要があります。それを実装する方法を知っている団体はありますか?

4

4 に答える 4

18

メソッドを注入$windowして使用します$window.open()

コントローラー定義内...

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

そしてそれを次のように呼び出します...

$scope.sendMail("foo@bar.com","Mail Subject","Mail Body Message");
于 2016-03-08T15:15:03.083 に答える
2

これにより、ユーザーの設定に応じて、Google メールまたはメール クライアントの新しいタブが開きます。

Angular JS の場合: 次のようにコントローラーで文字列を連結します。

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

html

<a ng-href="{{mailLink}}" target="_blank">Send</a>
于 2016-03-22T23:34:35.123 に答える
1

location.hrefあまりにも動作します!

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

注: に配列があり$scope.allemails、メソッドを使用する場合、.join(', ')thunderbringer メール クライアントはこれをメールのコレクションとして認識せず、その配列からのすべてのメールに「To:」の新しい行を追加します。

于 2016-09-01T13:05:15.893 に答える