mirror of
https://github.com/wekan/wekan.git
synced 2025-04-23 13:37:09 -04:00
Merge pull request #943 from Zokormazo/smtp
Don't send emails if missing smtp host
This commit is contained in:
commit
0c36f5f4c2
4 changed files with 47 additions and 35 deletions
|
@ -16,12 +16,17 @@ AccountsTemplates.addFields([{
|
|||
template: 'invitationCode',
|
||||
}]);
|
||||
|
||||
let sendVerificationEmail = false;
|
||||
if (process.env.MAIL_URL) {
|
||||
sendVerificationEmail = true;
|
||||
}
|
||||
|
||||
AccountsTemplates.configure({
|
||||
defaultLayout: 'userFormsLayout',
|
||||
defaultContentRegion: 'content',
|
||||
confirmPassword: false,
|
||||
enablePasswordChange: true,
|
||||
sendVerificationEmail: true,
|
||||
sendVerificationEmail,
|
||||
showForgotPasswordLink: true,
|
||||
onLogoutHook() {
|
||||
const homePage = 'home';
|
||||
|
|
|
@ -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) {
|
||||
InvitationCodes.remove(_id);
|
||||
throw new Meteor.Error('email-fail', e.message);
|
||||
|
|
|
@ -373,24 +373,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 };
|
||||
},
|
||||
});
|
||||
|
@ -510,4 +511,3 @@ if (Meteor.isServer) {
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -26,15 +26,17 @@ Meteor.startup(() => {
|
|||
const text = texts.join('\n\n');
|
||||
user.clearEmailBuffer();
|
||||
|
||||
try {
|
||||
Email.send({
|
||||
to: user.emails[0].address.toLowerCase(),
|
||||
from: Accounts.emailTemplates.from,
|
||||
subject: TAPi18n.__('act-activity-notify', {}, user.getLanguage()),
|
||||
text,
|
||||
});
|
||||
} catch (e) {
|
||||
return;
|
||||
if (Settings.findOne().mailUrl()) {
|
||||
try {
|
||||
Email.send({
|
||||
to: user.emails[0].address.toLowerCase(),
|
||||
from: Accounts.emailTemplates.from,
|
||||
subject: TAPi18n.__('act-activity-notify', {}, user.getLanguage()),
|
||||
text,
|
||||
});
|
||||
} catch (e) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}, 30000);
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue