2016-05-09 12 views
0

Wenn diese Frage woanders veröffentlicht werden sollte, lassen Sie mich bitte wissen, und ich werde es verschieben. Ich möchte einen Prozess erstellen, um den Administrator meiner Website darüber zu informieren, dass ein neues Konto registriert wurde. Diese Warnung wird den Administrator auffordern, da sie das neue Benutzerkonto überprüfen müssen.Benachrichtigen Sie den Administrator des neuen Benutzers

Mein erster Gedanke war, eine E-Mail an den Administrator der Website zu senden, aber bei weiterem Nachdenken hat dies das Potenzial, unüberschaubar zu werden. Gibt es dafür einen besseren Weg oder "Best Practice"? Zum Beispiel, Software von Drittanbietern (zB Mixpanel), um solche Dinge zu verwalten.

Antwort

1

Sie den Code eingeben E-Mail innerhalb upsertNewUser senden . Unten ist die kurze Demo der E-Mail (Ich gehe davon aus, dass Sie ein vor hands-on auf E-Mail-Paket getan haben) zu senden:

function upsertNewUser(id, fields){ 
    watch_new_users.upsert(id,{ fields }); 
    Email.send({ 
       to: "[email protected]", 
       from: "email_ID", 
       subject: "Example Email", 
       html: SSR.render('htmlEmail', somedata) 
}); 
} 

Wenn Sie den Code in der Tiefe, ich habe bereits eine der Fragen habe beantworten wünschen auf Email package use with HTML

+0

Cool. Gibt es eine Möglichkeit, eine E-Mail zu versenden.Senden Sie mit accounts.Oncreateuser? – bp123

+0

nach Meteor Dokumentation http://docs.meteor.com/#/full/accounts_oncreateuser können Sie E-Mail schreiben.Sende Code innerhalb dieser Funktion. Sie können dieses Stück Code, Accounts.onCreateUser versuchen (Funktion (Optionen, Benutzer) {Email.send ({});}); –

1
  1. Da Administrator des neuen Benutzerkontos benachrichtigt werden hinzugefügt, wenn Sie bei der Benachrichtigung über E-Mail nicht interessiert sind, SMS usw. können Sie einfach put „_id“ neu erstellte Benutzerkonto zu einigen neuen Tabelle, das nenne ich Tabelle "watch_new_users".
  2. Sie können einfach die Methode observe für die Tabelle "users" (oder die Tabelle, die Sie angegeben haben) aufrufen, um einen Eintrag in die Tabelle "watch_new user" zu erstellen.
  3. Es gibt zahlreiche Vorteile davon.

    a. Die Prozessberechnung und das Socket-Geschäft können minimiert werden, da E-Mails den Socket binden und nur freigeben, wenn die Nachricht per E-Mail gesendet wird.

    b. Sie haben immer eine Sammlung mit Zero-Pflege bei sich und können Daten nach Belieben abrufen.

    c. Sie können die _id des Benutzers abrufen und jede Detailtiefe anzeigen, die Sie wünschen, indem Sie administrative Vorlagen auf Clients erstellen. Auch Sie können Ihr eigenes Dashboard pflegen.

Unter dem einfache Code ist Uhr des neuen Benutzers zu halten hinzugefügt (ein Vorteil ist, man kann sogar die „entfernt“ verwalten „geändert“ Ereignisse des Benutzer-Account).

Projekt/lib/Sammlungen/watch.js

watch_new_users = new Mongo.Collection('watchnewusers'); 

Projekt/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 }); 
} 
+0

Das ist ein wirklich interessanter Ansatz. Ich werde es ein wenig genauer anschauen, um zu sehen, wie es mit meiner App funktioniert. In der Zwischenzeit möchte ich eine E-Mail-Benachrichtigung als kurzfristige Lösung hinzufügen, während die Dinge ansteigen. Ich habe versucht, die Funktion "Accounts.onCreateUser" hinzuzufügen, die eine separate HTML-E-Mail aufruft und eine E-Mail an Admin sendet, die jedoch ständig abstürzt. Gibt es eine einfache Möglichkeit, eine E-Mail anzurufen, wenn ein neuer Benutzer erstellt wurde? – bp123

Verwandte Themen