ユーザーの作成時に電子メール検証を送信する正しい方法を誰か提供してもらえますか? これは重要な部分です...
a)ユーザーがサインアップしてすぐにアクセスできるようにしたい. しかし、ユーザーがまだ 48 時間以内に確認リンクをクリックしていない場合は、リンクをクリックするまでログインを拒否したいと思います。
これまでの私のコードは電子メール検証を送信しますが、ユーザーは検証リンクをクリックしてもしなくてもアプリケーションに継続的にアクセスできます (したがって、私のコードはもちろん不完全です)。
client.js
Template.join.events({
'submit #join-form': function(e,t){
e.preventDefault();
var firstName= t.find('#join-firstName').value,
lastName= t.find('#join-lastName').value,
email = t.find('#join-email').value,
password = t.find('#join-password').value,
username = firstName.substring(0) + '.' + lastName.substring(0),
profile = {
fullname: firstName + ' ' + lastName
};
Accounts.createUser({
email: email,
username: username,
password: password,
userType: // 'reader' or 'publisher'
createdAt: new Date(),
profile: profile
}, function(error) {
if (error) {
alert(error);
} else {
Router.go('home');
}
});
}
});
サーバー.js
Meteor.startup(function () {
process.env.MAIL_URL = 'smtp://postmaster.....';
Accounts.emailTemplates.from = "no-reply@mydomain.com";
Accounts.emailTemplates.sitename = "My SIte Name";
Accounts.emailTemplates.verifyEmail.subject = function(user) {
return 'Please confirm tour Email address' ;
},
Accounts.emailTemplates.verifyEmail.text = function(user, url) {
return 'Click on the link below to verify your address: ' + url;
}
Accounts.config({
sendVerificationEmail: true
});
私の試みは、流星のドキュメントを自分で読んだり、SO の他のコードを調べたりして行われました。私は立ち往生しています。ご支援ありがとうございます。