AngularJS - 运行 山魈服务
AngularJS - Run mandrill service
我正在构建一个小应用程序,它需要每隔一小时左右通过 mandrill 发送邮件。我想将执行此操作的函数绑定到应用程序中的正确位置。
基本上,我有一个 dates/times 的 Firebase 参考,每小时,我需要 Mandrill 运行 通过那个 Firebase 数组并相应地发送电子邮件。我有一个可以使用的简单 Mandrill 服务,只需要知道放置实际发送逻辑的最佳位置。
基本山魈服务:
.factory('mandrill', function() {
return {
initMandrill: function() {
return new mandrill.Mandrill('XXX', true);
}
};
});
您可以使用 Mandrill JSON API 执行如下操作。您可以从针对您的 Firebase 的工厂调用它,传入您要分发的对象数据。
.factory('Mandrill', ['$http',
function($http) {
/*=======================*/
/* Insert Emails Here
/*=======================*/
var fromEmail = 'email';
var fromName = 'email_name';
var replyTo = 'email';
return {
messageWork: function(resp) {
return $http.post('https://mandrillapp.com/api/1.0//messages/send.json', {
'key': mandrillkey,
'message': {
'html': '<p>Unknown Message</p><p>' + resp + '</p><p>Code:' + resp.messagetext + '</p>',
'text': resp,
'subject': 'Unknown Message',
'from_email': fromEmail,
'from_name': fromName,
'to': [
{
'email': resp.toEmail,
'name': resp.toName,
'type': 'to'
}
],
'headers': {
'Reply-To': replyTo
}
}
})
.success(function(data, status, headers, config){
// log success
});
}
};
}]);
我想知道 Angular 是否是此类工作的最佳用例,因为 a) 您规定的时间限制(每小时)和 b) 在客户端代码中暴露了您的 Mandrill 密钥。 If you look at the integration options,他们提供了一些后端解决方案。
我建议您考虑使用 Node 来完成此类工作,node-schedule or later would handle your timing patterns, and Mandrill has a node API as does Firebase。只是一个想法。
我正在构建一个小应用程序,它需要每隔一小时左右通过 mandrill 发送邮件。我想将执行此操作的函数绑定到应用程序中的正确位置。
基本上,我有一个 dates/times 的 Firebase 参考,每小时,我需要 Mandrill 运行 通过那个 Firebase 数组并相应地发送电子邮件。我有一个可以使用的简单 Mandrill 服务,只需要知道放置实际发送逻辑的最佳位置。
基本山魈服务:
.factory('mandrill', function() {
return {
initMandrill: function() {
return new mandrill.Mandrill('XXX', true);
}
};
});
您可以使用 Mandrill JSON API 执行如下操作。您可以从针对您的 Firebase 的工厂调用它,传入您要分发的对象数据。
.factory('Mandrill', ['$http',
function($http) {
/*=======================*/
/* Insert Emails Here
/*=======================*/
var fromEmail = 'email';
var fromName = 'email_name';
var replyTo = 'email';
return {
messageWork: function(resp) {
return $http.post('https://mandrillapp.com/api/1.0//messages/send.json', {
'key': mandrillkey,
'message': {
'html': '<p>Unknown Message</p><p>' + resp + '</p><p>Code:' + resp.messagetext + '</p>',
'text': resp,
'subject': 'Unknown Message',
'from_email': fromEmail,
'from_name': fromName,
'to': [
{
'email': resp.toEmail,
'name': resp.toName,
'type': 'to'
}
],
'headers': {
'Reply-To': replyTo
}
}
})
.success(function(data, status, headers, config){
// log success
});
}
};
}]);
我想知道 Angular 是否是此类工作的最佳用例,因为 a) 您规定的时间限制(每小时)和 b) 在客户端代码中暴露了您的 Mandrill 密钥。 If you look at the integration options,他们提供了一些后端解决方案。
我建议您考虑使用 Node 来完成此类工作,node-schedule or later would handle your timing patterns, and Mandrill has a node API as does Firebase。只是一个想法。