diff --git a/server/core/mail.js b/server/core/mail.js index 9dad973a..4af28b65 100644 --- a/server/core/mail.js +++ b/server/core/mail.js @@ -13,6 +13,7 @@ module.exports = { let conf = { host: WIKI.config.mail.host, port: WIKI.config.mail.port, + name: WIKI.config.mail.name, secure: WIKI.config.mail.secure, tls: { rejectUnauthorized: !(WIKI.config.mail.verifySSL === false) diff --git a/server/db/migrations/3.0.0.js b/server/db/migrations/3.0.0.js index f9c22db4..22d42bd7 100644 --- a/server/db/migrations/3.0.0.js +++ b/server/db/migrations/3.0.0.js @@ -389,6 +389,7 @@ exports.up = async knex => { senderEmail: '', host: '', port: 465, + name: '', secure: true, verifySSL: true, user: '', diff --git a/server/graph/resolvers/mail.js b/server/graph/resolvers/mail.js index a9f18746..a86c443b 100644 --- a/server/graph/resolvers/mail.js +++ b/server/graph/resolvers/mail.js @@ -43,6 +43,7 @@ module.exports = { senderEmail: args.senderEmail, host: args.host, port: args.port, + name: args.name, secure: args.secure, verifySSL: args.verifySSL, user: args.user, diff --git a/server/graph/schemas/mail.graphql b/server/graph/schemas/mail.graphql index 29386ef8..fb5836ca 100644 --- a/server/graph/schemas/mail.graphql +++ b/server/graph/schemas/mail.graphql @@ -16,6 +16,7 @@ extend type Mutation { senderEmail: String! host: String! port: Int! + name: String! secure: Boolean! verifySSL: Boolean! user: String! @@ -36,6 +37,7 @@ type MailConfig { senderEmail: String host: String port: Int + name: String secure: Boolean verifySSL: Boolean user: String diff --git a/server/models/settings.js b/server/models/settings.js index 14bc6506..b9d91686 100644 --- a/server/models/settings.js +++ b/server/models/settings.js @@ -16,9 +16,7 @@ module.exports = class Setting extends Model { required: ['key'], properties: { - key: {type: 'string'}, - createdAt: {type: 'string'}, - updatedAt: {type: 'string'} + key: {type: 'string'} } } } @@ -27,13 +25,6 @@ module.exports = class Setting extends Model { return ['value'] } - $beforeUpdate() { - this.updatedAt = new Date().toISOString() - } - $beforeInsert() { - this.updatedAt = new Date().toISOString() - } - static async getConfig() { const settings = await WIKI.models.settings.query() if (settings.length > 0) { diff --git a/ux/src/i18n/locales/en.json b/ux/src/i18n/locales/en.json index 819e7d2c..d6636d61 100644 --- a/ux/src/i18n/locales/en.json +++ b/ux/src/i18n/locales/en.json @@ -1422,5 +1422,7 @@ "tags.selectOneMoreTags": "Select one or more tags", "tags.selectOneMoreTagsHint": "Select one or more tags on the left.", "admin.general.sitemapHint": "Make a sitemap.xml available to search engines with all pages accessible to guests.", - "admin.groups.usersNone": "This group doesn't have any user yet." + "admin.groups.usersNone": "This group doesn't have any user yet.", + "admin.mail.smtpName": "Client Identifying Name", + "admin.mail.smtpNameHint": "An optional name to send to the SMTP server to identify your mailer. Leave empty to use server hostname. For Google Workspace customers, this should be your main domain name." } diff --git a/ux/src/pages/AdminMail.vue b/ux/src/pages/AdminMail.vue index f591d751..c06b3812 100644 --- a/ux/src/pages/AdminMail.vue +++ b/ux/src/pages/AdminMail.vue @@ -98,6 +98,20 @@ q-page.admin-mail :aria-label='t(`admin.mail.smtpPort`)' ) q-separator.q-my-sm(inset) + q-item + blueprint-icon(icon='server') + q-item-section + q-item-label {{t(`admin.mail.smtpName`)}} + q-item-label(caption) {{t(`admin.mail.smtpNameHint`)}} + q-item-section + q-input( + outlined + v-model='state.config.name' + dense + hide-bottom-space + :aria-label='t(`admin.mail.smtpName`)' + ) + q-separator.q-my-sm(inset) q-item(tag='label', v-ripple) blueprint-icon(icon='secure') q-item-section @@ -390,6 +404,7 @@ async function save () { $senderEmail: String! $host: String! $port: Int! + $name: String! $secure: Boolean! $verifySSL: Boolean! $user: String! @@ -404,6 +419,7 @@ async function save () { senderEmail: $senderEmail host: $host port: $port + name: $name secure: $secure verifySSL: $verifySSL user: $user @@ -413,7 +429,7 @@ async function save () { dkimKeySelector: $dkimKeySelector dkimPrivateKey: $dkimPrivateKey ) { - status { + operation { succeeded slug message @@ -426,6 +442,7 @@ async function save () { senderEmail: state.config.senderEmail || '', host: state.config.host || '', port: toSafeInteger(state.config.port) || 0, + name: state.config.name || '', secure: state.config.secure ?? false, verifySSL: state.config.verifySSL ?? false, user: state.config.user || '',