mirror of
https://github.com/wekan/wekan.git
synced 2025-12-16 23:40:13 +01:00
Set mail-from to environment immediately after changed,
allow user set a blank username&password pair in SMTP setting.
This commit is contained in:
parent
a64e9af1d3
commit
72c3651be4
2 changed files with 22 additions and 5 deletions
|
|
@ -35,8 +35,10 @@ Settings.attachSchema(new SimpleSchema({
|
|||
}));
|
||||
Settings.helpers({
|
||||
mailUrl () {
|
||||
const mailUrl = `smtp://${this.mailServer.username}:${this.mailServer.password}@${this.mailServer.host}:${this.mailServer.port}/`;
|
||||
return mailUrl;
|
||||
if (!this.mailServer.username && !this.mailServer.password) {
|
||||
return `smtp://${this.mailServer.host}:${this.mailServer.port}/`;
|
||||
}
|
||||
return `smtp://${this.mailServer.username}:${this.mailServer.password}@${this.mailServer.host}:${this.mailServer.port}/`;
|
||||
},
|
||||
});
|
||||
Settings.allow({
|
||||
|
|
@ -65,6 +67,17 @@ if (Meteor.isServer) {
|
|||
process.env.MAIL_URL = newSetting.mailUrl();
|
||||
Accounts.emailTemplates.from = newSetting.mailServer.from;
|
||||
});
|
||||
Settings.after.update((userId, doc, fieldNames) => {
|
||||
// assign new values to mail-from & MAIL_URL in environment
|
||||
if (_.contains(fieldNames, 'mailServer')) {
|
||||
if (!doc.mailServer.username && !doc.mailServer.password) {
|
||||
process.env.MAIL_URL = `smtp://${doc.mailServer.host}:${doc.mailServer.port}/`;
|
||||
} else {
|
||||
process.env.MAIL_URL = `smtp://${doc.mailServer.username}:${doc.mailServer.password}@${doc.mailServer.host}:${doc.mailServer.port}/`;
|
||||
}
|
||||
Accounts.emailTemplates.from = doc.mailServer.from;
|
||||
}
|
||||
});
|
||||
|
||||
function getRandomNum (min, max) {
|
||||
const range = max - min;
|
||||
|
|
@ -107,7 +120,11 @@ if (Meteor.isServer) {
|
|||
if (email && SimpleSchema.RegEx.Email.test(email)) {
|
||||
const code = getRandomNum(100000, 999999);
|
||||
InvitationCodes.insert({code, email, boardsToBeInvited: boards, createdAt: new Date(), authorId: Meteor.userId()}, function(err, _id){
|
||||
if(!err && _id) sendInvitationEmail(_id);
|
||||
if (!err && _id) {
|
||||
sendInvitationEmail(_id);
|
||||
} else {
|
||||
throw new Meteor.Error('invitation-generated-fail', err.message);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue