1

Meteor でメール認証を使用してカスタム サインアップ ページを作成しようとしています。確認メールの送信に Mandrill を使用したいと考えています。サーバーフォルダーには、メソッドがあります-

addUser: function(user) {
    console.log("Adding User - ", user);
    var userOptions = {
        email: user.email, password: user.password,
        profile: {firstname: user.firstname, lastname: user.lastname}
    };

    var createdUser = Accounts.createUser(userOptions);
    console.log("CreatedUser-", createdUser);
    Accounts.onCreateUser(function(options, createdUser) {
        if (options.profile) {
            createdUser.profile = options.profile;
        }
        else {
            createdUser.profile = {};
        }
        Accounts.sendVerificationEmail(createdUser._id, createdUser.email);
        return createdUser;
    });

Accounts.createUserメソッドはレコードを挿入していますが、メールは送信されません。また、mandrill smtp クレデンシャルを使用して process.env.MAIL_URL を定義しました。ドキュメントに目を通し、いくつかのブログをチェックするのに疲れましたが、何も機能していないようです。createUser()を削除すると、ユーザーは mongo db に挿入されず、onCreateUser()は例外で失敗します。Meteor のドキュメントを確認しましたが、 onCreateUser()の仕組みについてまだ混乱していますか? onCreateUser()メソッドはどのようにオプションとユーザー パラメータを取得しますか? 私はこれにこだわっています。ガイダンス/ヘルプをいただければ幸いです。stackoverflow に関する別の質問を行った後、メール パッケージを削除しました。私は持っていますwylio:mandrillがプロジェクトに追加されました。メールパッケージは必要ですか?

4

2 に答える 2

1

次のように構成設定を設定するだけでよいと思います。

Accounts.config({
  sendVerificationEmail: true
});

これが true に設定されていない場合 (デフォルトでは false)、電子メールの内容がサーバー コンソールに出力されます。これはテストには適していますが、実際に電子メールを送信するには明らかに不適切です。

メール パッケージを再度追加します。メールを送信するには、それが必要だと思います。それが役立つことを願っています。

于 2015-07-20T03:37:49.777 に答える