From dfb1930d61c335e0a6ae14f5bc463341158e0f57 Mon Sep 17 00:00:00 2001 From: Wilco de Boer Date: Tue, 17 Apr 2018 20:01:08 +0200 Subject: [PATCH] Handle multiple addresses properly when resending verification mails --- lib/server_methods.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/server_methods.js b/lib/server_methods.js index 500440d..1259027 100644 --- a/lib/server_methods.js +++ b/lib/server_methods.js @@ -131,12 +131,16 @@ Meteor.methods({ throw new Meteor.Error(403, "User not found"); } - try { - Accounts.sendVerificationEmail(user._id); - } catch (error) { - // Handle error when email already verified - // https://github.com/dwinston/send-verification-email-bug - throw new Meteor.Error(403, "Already verified"); + // Throw an error if the requested email is already verified + for (var i = 0; i < user.emails.length; i++) { + if (user.emails[i].address === email) { + if (user.emails[i].verified) { + throw new Meteor.Error(403, "Already verified"); + } + break; + } } + + Accounts.sendVerificationEmail(user._id, email); }, });