2013-06-09 3 views
0

Я настроил свой сервер с sendVerificationEmail: true, который я хочу в общем случае. Однако бывают случаи, когда я не хочу, чтобы Метеор отправил электронное письмо с подтверждением. Вместо этого я хотел бы отметить сообщение электронной почты, как это было проверено программно.Как условно пропустить отправку проверки электронной почты в Meteor?

Я попытался сделать это в validateNewUser крючок

Accounts.validateNewUser(function(user) { 
    user.emails[0].verified = true; 
    return true; 
}); 

и в onCreateUser крючок

Accounts.onCreateUser(function(options, user) { 
    user.emails[0].verified = true; 
    return user; 
}); 

как без успеха. Несмотря на то, что электронная почта помечается как проверенная, Meteor по-прежнему отправляет электронное письмо с подтверждением.

ответ

0

Отключение автоматической проверки электронной почты через sendVerificationEmail: false и сделать это вручную в ситуациях, вы хотели бы проверить сообщения электронной почты

var email = user.emails[0].address; 
Accounts.sendVerificationEmail(userId, email); 
+0

Проблема с этим я не знаю, когда для вызова 'sendVerificationEmail'. Я не могу сделать это в обратном вызове 'onCreateUser', поскольку пользователь еще не существует (например, я получаю« Ошибка: не могу найти пользователя »). – Dejan

+0

Вы можете сделать это вскоре после вызова 'onCreateUser' с помощью' Meteor.setTimeout (function() {sendVerification ...}, 10000); 'inside' onCreateUser' – Akshat

Смежные вопросы