我正在 Angular 应用程序中实现一个简单的电子邮件反馈功能。邮件具有预定义的邮件主题和内容模板。角度控制器需要启动客户端电子邮件客户端(如调用“mailto:foo@bar.com”)并完成预定义的主题、内容模板。任何机构都知道如何实施它?
问问题
31839 次
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 回答