Email 如何在AngularJS控制器中调用mailto
我正在angular应用程序中实现一个简单的电子邮件反馈功能。邮件具有预定义的邮件主题和内容模板。angular controller需要启动客户端电子邮件客户端(如调用“mailto:foo@bar.com)并完成预定义的主题、内容模板。任何机构都知道如何实现它?使用$window。位置:Email 如何在AngularJS控制器中调用mailto,email,angularjs,Email,Angularjs,我正在angular应用程序中实现一个简单的电子邮件反馈功能。邮件具有预定义的邮件主题和内容模板。angular controller需要启动客户端电子邮件客户端(如调用“mailto:foo@bar.com)并完成预定义的主题、内容模板。任何机构都知道如何实现它?使用$window。位置: $window.location = "mailto:..." 注入$window并使用$window.open()方法 内部控制器定义 $scope.sendMail = function(emailI
$window.location = "mailto:..."
注入
$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");
这将为Google mail或电子邮件客户端打开新选项卡,具体取决于用户设置 在Angular JS中:在控制器中连接字符串,如下所示:
$scope.mailLink = "mailto:" + $scope.emailId + "?subject=" + $scope.Subject + '&body=' + $scope.bodyText;
html
location.href
也可以
$scope.email = function(item){
location.href= 'mailto:' + $scope.allemails (array) + '?subject=Subject you want';
}
注意:如果您在
$scope.allemails
中有一个数组,并且您将使用方法.join(',')
-thunderbringer电子邮件客户端将不会将其识别为电子邮件的集合,它将在该数组中的每封电子邮件中添加一行“To:”。可能的重复项可能会将其包装成一个指令。如果您现在对此问题有了答案,您应该在下面输入答案(不是作为问题的一部分)并将其标记为答案,以便其他StackOverflow用户可以立即清楚地看到此问题已经解决。这不会打开“不需要的新浏览器”选项卡,而location.open()会打开。如果您确定用户需要打开一个外部邮件客户机,这似乎更好。
$scope.email = function(item){
location.href= 'mailto:' + $scope.allemails (array) + '?subject=Subject you want';
}