2016-03-15 12 views
1

У меня есть запущенное приложение, которое отправляет проверенные письма в случае создания имени электронной почты/учетной записи, но не отправляет подтверждение по электронной почте, если я вхожу в систему с google/facebook; это, вероятно, связано с адресом электронной почты, который находится в services.google.email; как я могу установить поле 'to' в Accounts.emailTemplates, если оно существует.проверка электронной почты с учетными записями-google, accounts-facebook

configureAccounts = function() { 
    setMailVerification(enableMailVerification); 
}; 

setMailVerification = function() { 
    Accounts.emailTemplates.from = '[email protected]'; 
    Accounts.emailTemplates.verifyEmail = { 
     subject : function(user) { 
      return "Confirmation" 
     }, 
     text : function(user, url) { 
      var greeting = (user.profile && user.profile.nick) ? ("Hello " + user.profile.nick + ",") : "Hello,"; 
      return greeting + 
       "\n\n" + "Thank you for registration."+ 
       "\n" + "To confirm click the following link:" + url + 
       "\n\n" + "thank you." 
     } 
    }; 

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

пожалуйста, дайте мне знать, если вы, где я должен поставить ... services.google.email в случае Google логин и то же самое для Facebook ...

другими словами, как я могу отправить подтверждение Отправить Meteor.user() services.google.email .. (даже вспоминая sendUserVerificationEmail с этой электронной почтой не работает, как это не в «письмах»)

ответ

0

Я модифицированное .EMAIL свойства onCreateUser следующим образом:.

if(user.services != undefined) { 
    console.log('services in onCreateUser'); 
    user.sentVerificationEmail = false; 
    user.emails =[]; 

    var emailServices = user.services.google != undefined ? 
     user.services.google.email : 
     user.services.facebook.email; 
    user.emails.push({ 
     address : emailServices, 
     verified : false 
    }); 
} 

if (options.profile) 
    user.profile = options.profile; 

return user; 

Я позвонил тогда Accounts.sentVerificationEmail, затем onLogin .. и он сработал;

спасибо, что посмотрели

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