|
@@ -27,7 +27,6 @@ Settings.attachSchema(new SimpleSchema({
|
|
'mailServer.from': {
|
|
'mailServer.from': {
|
|
type: String,
|
|
type: String,
|
|
optional: true,
|
|
optional: true,
|
|
- defaultValue: 'Wekan',
|
|
|
|
},
|
|
},
|
|
createdAt: {
|
|
createdAt: {
|
|
type: Date,
|
|
type: Date,
|
|
@@ -66,14 +65,17 @@ if (Meteor.isServer) {
|
|
const setting = Settings.findOne({});
|
|
const setting = Settings.findOne({});
|
|
if(!setting){
|
|
if(!setting){
|
|
const now = new Date();
|
|
const now = new Date();
|
|
|
|
+ const domain = process.env.ROOT_URL.match(/\/\/(?:www\.)?(.*)?(?:\/)?/)[1];
|
|
|
|
+ const from = `Wekan <wekan@${domain}>`;
|
|
const defaultSetting = {disableRegistration: false, mailServer: {
|
|
const defaultSetting = {disableRegistration: false, mailServer: {
|
|
- username: '', password: '', host: '', port: '', enableTLS: false, from: '',
|
|
|
|
|
|
+ username: '', password: '', host: '', port: '', enableTLS: false, from,
|
|
}, createdAt: now, modifiedAt: now};
|
|
}, createdAt: now, modifiedAt: now};
|
|
Settings.insert(defaultSetting);
|
|
Settings.insert(defaultSetting);
|
|
}
|
|
}
|
|
const newSetting = Settings.findOne();
|
|
const newSetting = Settings.findOne();
|
|
- process.env.MAIL_URL = newSetting.mailUrl();
|
|
|
|
- Accounts.emailTemplates.from = newSetting.mailServer.from;
|
|
|
|
|
|
+ if (!process.env.MAIL_URL && newSetting.mailUrl())
|
|
|
|
+ process.env.MAIL_URL = newSetting.mailUrl();
|
|
|
|
+ Accounts.emailTemplates.from = process.env.MAIL_FROM ? process.env.MAIL_FROM : newSetting.mailServer.from;
|
|
});
|
|
});
|
|
Settings.after.update((userId, doc, fieldNames) => {
|
|
Settings.after.update((userId, doc, fieldNames) => {
|
|
// assign new values to mail-from & MAIL_URL in environment
|
|
// assign new values to mail-from & MAIL_URL in environment
|
|
@@ -106,14 +108,12 @@ if (Meteor.isServer) {
|
|
url: FlowRouter.url('sign-up'),
|
|
url: FlowRouter.url('sign-up'),
|
|
};
|
|
};
|
|
const lang = author.getLanguage();
|
|
const lang = author.getLanguage();
|
|
- 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),
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
|
|
+ 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) {
|
|
} catch (e) {
|
|
InvitationCodes.remove(_id);
|
|
InvitationCodes.remove(_id);
|
|
throw new Meteor.Error('email-fail', e.message);
|
|
throw new Meteor.Error('email-fail', e.message);
|