20

我正在 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 回答
5

使用 $window.location:

$window.location = "mailto:..."
于 2015-04-01T19:38:20.903 回答
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 电子邮件客户端将不会将此识别为电子邮件集合,它会在该数组中的每封电子邮件中添加一个新的“收件人:”行。

于 2016-09-01T13:05:15.893 回答