2016-08-03 29 views
0

カスタムメッセージとデフォルトのパラメータではなくカスタムのパラメータを使用して、ユーザーに電子メールの確認を送信するにはどうすればよいですか?Meteor accounts電子メールの確認

Meteor.methods({ 
    sendveryficationmail: function (theuserId, themail) { 
     this.unblock(); 
     Accounts.sendVerificationEmail(theuserId); 
    } 
}); 

この方法を使用すると、デフォルトの流星確認メールが送信されます。パラメータを変更するにはどうすればよいですか、どこから変更する必要がありますか?

+0

https://themeteorchef.com/snippets/sign-up-with-email-verification/#tmc-customizing-the-verification-template – Kalman

答えて

1

あなたは、テンプレートを使用してカスタムHTMLを送信するために、独自の関数を作成することができ、あなたは、イベントの代わりに、テンプレートファイルのに簡単なHTMLを渡すことができます。ここでは、コードです:

'sendVerificationEmail':function (emailId) { 
     Meteor.users.update({'emails.address': emailId}, {$unset: {'services.email.verificationTokens': 1}}); 
     var user = Meteor.users.findOne({"emails.address": emailId}); 
     if (user) { 
       if(user.emails.find(email=> email.address === emailId).verified){ 
        throw new Meteor.Error("Email already verified"); 
       } else { 
        var userInfo = user.profile; 
        var emailId = user.email[0].address; 
        Accounts.emailTemplates.siteName = "NJAL"; 
        Accounts.emailTemplates.from = "myTest <[email protected]>"; 
        Accounts.emailTemplates.verifyEmail.subject = function(user) { 
         return "Account Verification Required"; 
        }; 
        Accounts.emailTemplates.verifyEmail.html = function (user, url) { 
         SSR.compileTemplate('registartionEmail', Assets.getText('email_templates/registration_confirm.html')); 
         var res=url.split("/"); 
         var emailData = { 
          "designer_name": userInfo.fname + " "+ userInfo.lname, 
          "url": "http://domain.com/pages/verify/?token="+res[res.length-2]+"/"+res[res.length-1], 
          "emailId": emailId, 
         }; 
         return SSR.render('registartionEmail', emailData); 
        }; 
        Accounts.sendVerificationEmail(user._id, emailId); 
       } 
     } else {   
      throw new Meteor.Error("Email does not exist"); 
     } 
    }, 
0

あなたはそれが好き行うことができます。

Meteor.startup(function() { 
    Accounts.verifyEmail = { 
     from: 'custom from', 
     subject: 'your subject', 
     text: 'Your text', 
     html: 'Your html' 
    } 
} 
関連する問題