diff options
author | Julen Landa Alustiza <julen@zokormazo.info> | 2017-03-28 12:25:27 +0200 |
---|---|---|
committer | Julen Landa Alustiza <julen@zokormazo.info> | 2017-03-28 12:44:36 +0200 |
commit | 5db786e2ddca5bc416612778bb0de0d8338003eb (patch) | |
tree | bca79038b36102e05932aefe8a1b9f8cfa5e6450 /models | |
parent | feafc46bb5bc336da8d091cc7a0e8e4fc3c3e4f1 (diff) | |
download | wekan-5db786e2ddca5bc416612778bb0de0d8338003eb.tar.gz wekan-5db786e2ddca5bc416612778bb0de0d8338003eb.tar.bz2 wekan-5db786e2ddca5bc416612778bb0de0d8338003eb.zip |
Don't send emails if missing smtp host
Diffstat (limited to 'models')
-rw-r--r-- | models/settings.js | 19 | ||||
-rw-r--r-- | models/users.js | 36 |
2 files changed, 30 insertions, 25 deletions
diff --git a/models/settings.js b/models/settings.js index 0e6ab762..71f1253f 100644 --- a/models/settings.js +++ b/models/settings.js @@ -35,6 +35,9 @@ Settings.attachSchema(new SimpleSchema({ })); Settings.helpers({ mailUrl () { + if (!this.mailServer.host) { + return null; + } if (!this.mailServer.username && !this.mailServer.password) { return `smtp://${this.mailServer.host}:${this.mailServer.port}/`; } @@ -69,7 +72,7 @@ if (Meteor.isServer) { }); Settings.after.update((userId, doc, fieldNames) => { // assign new values to mail-from & MAIL_URL in environment - if (_.contains(fieldNames, 'mailServer')) { + if (_.contains(fieldNames, 'mailServer') && _.contains(fieldNames, 'host')) { if (!doc.mailServer.username && !doc.mailServer.password) { process.env.MAIL_URL = `smtp://${doc.mailServer.host}:${doc.mailServer.port}/`; } else { @@ -97,12 +100,14 @@ if (Meteor.isServer) { url: FlowRouter.url('sign-up'), }; const lang = author.getLanguage(); - Email.send({ - to: icode.email, - from: Accounts.emailTemplates.from, - subject: TAPi18n.__('email-invite-register-subject', params, lang), - text: TAPi18n.__('email-invite-register-text', params, lang), - }); + if (Settings.findOne().mailUrl()) { + Email.send({ + to: icode.email, + from: Accounts.emailTemplates.from, + subject: TAPi18n.__('email-invite-register-subject', params, lang), + text: TAPi18n.__('email-invite-register-text', params, lang), + }); + } } catch (e) { throw new Meteor.Error('email-fail', e.message); } diff --git a/models/users.js b/models/users.js index 06b84fa0..5f492803 100644 --- a/models/users.js +++ b/models/users.js @@ -369,24 +369,25 @@ if (Meteor.isServer) { board.addMember(user._id); user.addInvite(boardId); - try { - const params = { - user: user.username, - inviter: inviter.username, - board: board.title, - url: board.absoluteUrl(), - }; - const lang = user.getLanguage(); - Email.send({ - to: user.emails[0].address.toLowerCase(), - from: Accounts.emailTemplates.from, - subject: TAPi18n.__('email-invite-subject', params, lang), - text: TAPi18n.__('email-invite-text', params, lang), - }); - } catch (e) { - throw new Meteor.Error('email-fail', e.message); + if (Settings.findOne().mailUrl()) { + try { + const params = { + user: user.username, + inviter: inviter.username, + board: board.title, + url: board.absoluteUrl(), + }; + const lang = user.getLanguage(); + Email.send({ + to: user.emails[0].address.toLowerCase(), + from: Accounts.emailTemplates.from, + subject: TAPi18n.__('email-invite-subject', params, lang), + text: TAPi18n.__('email-invite-text', params, lang), + }); + } catch (e) { + throw new Meteor.Error('email-fail', e.message); + } } - return { username: user.username, email: user.emails[0].address }; }, }); @@ -502,4 +503,3 @@ if (Meteor.isServer) { } }); } - |