I'm implementing a simple email feedback feature in angular app. The mail has predefined mail subject and content template. The angular controller need bring up client email client (like invoke "mailto:[email protected]") and fulfill predefined subject, content template. Any body know how to implement it?
Inject $window
and use $window.open()
method.
Inside controller define...
$scope.sendMail = function(emailId,subject,message){
$window.open("mailto:"+ emailId + "?subject=" + subject+"&body="+message,"_self");
};
and call it like...
$scope.sendMail("[email protected]","Mail Subject","Mail Body Message");
use $window.location:
$window.location = "mailto:..."
This should open new tab for Google mail or email client, depending on users settings.
In Angular JS: Concatenate string in controller like so:
$scope.mailLink = "mailto:" + $scope.emailId + "?subject=" + $scope.Subject + '&body=' + $scope.bodyText;
html
<a ng-href="{{mailLink}}" target="_blank">Send</a>
location.href
works too!
$scope.email = function(item){
location.href= 'mailto:' + $scope.allemails (array) + '?subject=Subject you want';
}
Note: If you have an array in $scope.allemails
, and you will use method .join(', ')
- thunderbringer email client will not recognize this as a collection of emails and it will add a new line of 'To:' to every email from that array.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With