10

ユーザーが作成されたときに確認メールを送信したい。私は accounts-password パッケージを使用しているため、すべての Accounts メソッドがコード内で呼び出されます。

電話する必要があるドキュメントを読みました:

Accounts.sendVerificationEmail(userId, [email])

しかし、問題は、いつ呼び出すかわからないことです。

のコールバック関数を呼び出そうとしましたAccounts.onCreateUser(func)が、ユーザーはデータベースにまだ作成されていませんでした。

何か案は?

4

3 に答える 3

14

サーバー側で:

Accounts.config({sendVerificationEmail: true, forbidClientAccountCreation: false}); 

上記のコメントから答えを得ました。

于 2013-05-21T11:44:17.893 に答える
3

sendVerificationEmail はサーバー側でのみ使用できます。私が通常行うことは、電子メールを送信する前に、Meteor がユーザーを作成するのを待つためにsetIntervalinsideを使用することです。onCreateUser

続きを読む: Meteor アカウントでメールを確認します

// (server-side)
Accounts.onCreateUser(function(options, user) {  
  user.profile = {};

  // we wait for Meteor to create the user before sending an email
  Meteor.setTimeout(function() {
    Accounts.sendVerificationEmail(user._id);
  }, 2 * 1000);

  return user;
});
于 2014-08-25T13:32:32.290 に答える