【发布时间】:2016-05-10 14:52:01
【问题描述】:
如果这个问题应该发布到其他地方,请告诉我,我会移动它。我想创建一个流程来提醒我网站的管理员已经注册了一个新帐户。此警报将提示管理员,因为他们需要检查新用户帐户。
我最初的想法是向网站管理员发送一封电子邮件,但进一步认为这有可能变得难以管理。有没有更好的方法或“最佳实践”来做到这一点。例如,管理此类事情的第三方软件(例如 mixpanel)。
【问题讨论】:
标签: meteor
如果这个问题应该发布到其他地方,请告诉我,我会移动它。我想创建一个流程来提醒我网站的管理员已经注册了一个新帐户。此警报将提示管理员,因为他们需要检查新用户帐户。
我最初的想法是向网站管理员发送一封电子邮件,但进一步认为这有可能变得难以管理。有没有更好的方法或“最佳实践”来做到这一点。例如,管理此类事情的第三方软件(例如 mixpanel)。
【问题讨论】:
标签: meteor
您可以在 upsertNewUser 中插入代码以发送电子邮件。以下是发送电子邮件的简短演示(我假设您之前已经对电子邮件包进行了动手操作):
function upsertNewUser(id, fields){
watch_new_users.upsert(id,{ fields });
Email.send({
to: "abc@gmail.com",
from: "email_ID",
subject: "Example Email",
html: SSR.render( 'htmlEmail', somedata )
});
}
如果您希望深入了解代码,我已经回答了Email package use with HTML 上的问题之一
【讨论】:
这样做有很多好处。
a. 过程计算和socket业务可以最小化,因为email绑定socket,只有在邮件发送时才释放。
b.您将始终拥有一个零维护的集合,并且可以根据需要检索数据。
c.您可以通过在客户端上创建管理模板来检索用户的_id 并查看您希望的任何详细信息。甚至您也可以维护自己的仪表板。
以下是监视添加的新用户的简单代码(一个好处是您甚至可以管理帐户用户的“删除”、“更改”事件)。
project/lib/collections/watch.js
watch_new_users = new Mongo.Collection('watchnewusers');
project/server/publish.js
var allCursor = users.find();
allCursor.observe({
added: function(id, fields){
upsertNewUser(id, fields);
}
});
function upsertNewUser(id, fields){
watch_new_users.upsert(id,{ fields });
}
【讨论】:
Accounts.onCreateUser 函数,该函数调用单独的 html 电子邮件并向管理员发送电子邮件,但它只是不断崩溃。有没有一种简单的方法可以在创建新用户时调用电子邮件。