diff --git a/client/pages/config/email.vue b/client/pages/config/email.vue index 1b5da829d..d85824fe6 100644 --- a/client/pages/config/email.vue +++ b/client/pages/config/email.vue @@ -34,10 +34,14 @@
+
+ +
- {{ $strings.ButtonTest }} + {{ $strings.ButtonReset }} + {{ $strings.ButtonTest }} {{ $strings.ButtonSave }}
@@ -93,6 +97,7 @@ export default { secure: true, user: null, pass: null, + testAddress: null, fromAddress: null }, newEReaderDevice: { @@ -117,6 +122,11 @@ export default { } }, methods: { + resetChanges() { + this.newSettings = { + ...this.settings + } + }, editDeviceClick(device) { this.selectedEReaderDevice = device this.showEReaderDeviceModal = true @@ -196,6 +206,7 @@ export default { secure: this.newSettings.secure, user: this.newSettings.user, pass: this.newSettings.pass, + testAddress: this.newSettings.testAddress, fromAddress: this.newSettings.fromAddress } this.savingSettings = true diff --git a/client/strings/de.json b/client/strings/de.json index 7f8d78ea0..f73b7edab 100644 --- a/client/strings/de.json +++ b/client/strings/de.json @@ -230,6 +230,7 @@ "LabelEmailSettingsFromAddress": "From Address", "LabelEmailSettingsSecure": "Secure", "LabelEmailSettingsSecureHelp": "If true the connection will use TLS when connecting to server. If false then TLS is used if server supports the STARTTLS extension. In most cases set this value to true if you are connecting to port 465. For port 587 or 25 keep it false. (from nodemailer.com/smtp/#authentication)", + "LabelEmailSettingsTestAddress": "Test Address", "LabelEmbeddedCover": "Eingebettetes Cover", "LabelEnable": "Aktivieren", "LabelEnd": "Ende", diff --git a/client/strings/en-us.json b/client/strings/en-us.json index fa8d35b60..28e98e521 100644 --- a/client/strings/en-us.json +++ b/client/strings/en-us.json @@ -230,6 +230,7 @@ "LabelEmailSettingsFromAddress": "From Address", "LabelEmailSettingsSecure": "Secure", "LabelEmailSettingsSecureHelp": "If true the connection will use TLS when connecting to server. If false then TLS is used if server supports the STARTTLS extension. In most cases set this value to true if you are connecting to port 465. For port 587 or 25 keep it false. (from nodemailer.com/smtp/#authentication)", + "LabelEmailSettingsTestAddress": "Test Address", "LabelEmbeddedCover": "Embedded Cover", "LabelEnable": "Enable", "LabelEnd": "End", diff --git a/client/strings/es.json b/client/strings/es.json index b8ff1e96e..c7241cd03 100644 --- a/client/strings/es.json +++ b/client/strings/es.json @@ -230,6 +230,7 @@ "LabelEmailSettingsFromAddress": "From Address", "LabelEmailSettingsSecure": "Secure", "LabelEmailSettingsSecureHelp": "If true the connection will use TLS when connecting to server. If false then TLS is used if server supports the STARTTLS extension. In most cases set this value to true if you are connecting to port 465. For port 587 or 25 keep it false. (from nodemailer.com/smtp/#authentication)", + "LabelEmailSettingsTestAddress": "Test Address", "LabelEmbeddedCover": "Portada Integrada", "LabelEnable": "Habilitar", "LabelEnd": "Fin", diff --git a/client/strings/fr.json b/client/strings/fr.json index 09b381836..c8f2f6473 100644 --- a/client/strings/fr.json +++ b/client/strings/fr.json @@ -230,6 +230,7 @@ "LabelEmailSettingsFromAddress": "Expéditeur", "LabelEmailSettingsSecure": "Sécurisé", "LabelEmailSettingsSecureHelp": "Si coché, la connexion utilisera TLS lors de la connexion au serveur. Sinon TLS est utilisé si le serveur prend en charge l'extension STARTTLS. Dans la plupart des cas, cochez si vous vous connectez au port 465. Décochez pour le port 587 ou 25. (source: nodemailer.com/smtp/#authentication)", + "LabelEmailSettingsTestAddress": "Test Address", "LabelEmbeddedCover": "Couverture du livre intégrée", "LabelEnable": "Activer", "LabelEnd": "Fin", diff --git a/client/strings/gu.json b/client/strings/gu.json index b8f63f270..bf5f71943 100644 --- a/client/strings/gu.json +++ b/client/strings/gu.json @@ -230,6 +230,7 @@ "LabelEmailSettingsFromAddress": "From Address", "LabelEmailSettingsSecure": "Secure", "LabelEmailSettingsSecureHelp": "If true the connection will use TLS when connecting to server. If false then TLS is used if server supports the STARTTLS extension. In most cases set this value to true if you are connecting to port 465. For port 587 or 25 keep it false. (from nodemailer.com/smtp/#authentication)", + "LabelEmailSettingsTestAddress": "Test Address", "LabelEmbeddedCover": "Embedded Cover", "LabelEnable": "Enable", "LabelEnd": "End", diff --git a/client/strings/hi.json b/client/strings/hi.json index 788d15ab7..194dae298 100644 --- a/client/strings/hi.json +++ b/client/strings/hi.json @@ -230,6 +230,7 @@ "LabelEmailSettingsFromAddress": "From Address", "LabelEmailSettingsSecure": "Secure", "LabelEmailSettingsSecureHelp": "If true the connection will use TLS when connecting to server. If false then TLS is used if server supports the STARTTLS extension. In most cases set this value to true if you are connecting to port 465. For port 587 or 25 keep it false. (from nodemailer.com/smtp/#authentication)", + "LabelEmailSettingsTestAddress": "Test Address", "LabelEmbeddedCover": "Embedded Cover", "LabelEnable": "Enable", "LabelEnd": "End", diff --git a/client/strings/hr.json b/client/strings/hr.json index 98e2a4345..d8210aea8 100644 --- a/client/strings/hr.json +++ b/client/strings/hr.json @@ -230,6 +230,7 @@ "LabelEmailSettingsFromAddress": "From Address", "LabelEmailSettingsSecure": "Secure", "LabelEmailSettingsSecureHelp": "If true the connection will use TLS when connecting to server. If false then TLS is used if server supports the STARTTLS extension. In most cases set this value to true if you are connecting to port 465. For port 587 or 25 keep it false. (from nodemailer.com/smtp/#authentication)", + "LabelEmailSettingsTestAddress": "Test Address", "LabelEmbeddedCover": "Embedded Cover", "LabelEnable": "Uključi", "LabelEnd": "Kraj", diff --git a/client/strings/it.json b/client/strings/it.json index a902960f1..5c65773f1 100644 --- a/client/strings/it.json +++ b/client/strings/it.json @@ -230,6 +230,7 @@ "LabelEmailSettingsFromAddress": "From Address", "LabelEmailSettingsSecure": "Secure", "LabelEmailSettingsSecureHelp": "If true the connection will use TLS when connecting to server. If false then TLS is used if server supports the STARTTLS extension. In most cases set this value to true if you are connecting to port 465. For port 587 or 25 keep it false. (from nodemailer.com/smtp/#authentication)", + "LabelEmailSettingsTestAddress": "Test Address", "LabelEmbeddedCover": "Embedded Cover", "LabelEnable": "Abilita", "LabelEnd": "Fine", diff --git a/client/strings/nl.json b/client/strings/nl.json index e528b8283..4c56958d3 100644 --- a/client/strings/nl.json +++ b/client/strings/nl.json @@ -230,6 +230,7 @@ "LabelEmailSettingsFromAddress": "From Address", "LabelEmailSettingsSecure": "Secure", "LabelEmailSettingsSecureHelp": "If true the connection will use TLS when connecting to server. If false then TLS is used if server supports the STARTTLS extension. In most cases set this value to true if you are connecting to port 465. For port 587 or 25 keep it false. (from nodemailer.com/smtp/#authentication)", + "LabelEmailSettingsTestAddress": "Test Address", "LabelEmbeddedCover": "Ingesloten cover", "LabelEnable": "Inschakelen", "LabelEnd": "Einde", diff --git a/client/strings/pl.json b/client/strings/pl.json index 330bf6980..49fa91672 100644 --- a/client/strings/pl.json +++ b/client/strings/pl.json @@ -230,6 +230,7 @@ "LabelEmailSettingsFromAddress": "From Address", "LabelEmailSettingsSecure": "Secure", "LabelEmailSettingsSecureHelp": "If true the connection will use TLS when connecting to server. If false then TLS is used if server supports the STARTTLS extension. In most cases set this value to true if you are connecting to port 465. For port 587 or 25 keep it false. (from nodemailer.com/smtp/#authentication)", + "LabelEmailSettingsTestAddress": "Test Address", "LabelEmbeddedCover": "Embedded Cover", "LabelEnable": "Włącz", "LabelEnd": "Zakończ", diff --git a/client/strings/ru.json b/client/strings/ru.json index e7646f1d4..0d468c8d2 100644 --- a/client/strings/ru.json +++ b/client/strings/ru.json @@ -230,6 +230,7 @@ "LabelEmailSettingsFromAddress": "From Address", "LabelEmailSettingsSecure": "Secure", "LabelEmailSettingsSecureHelp": "If true the connection will use TLS when connecting to server. If false then TLS is used if server supports the STARTTLS extension. In most cases set this value to true if you are connecting to port 465. For port 587 or 25 keep it false. (from nodemailer.com/smtp/#authentication)", + "LabelEmailSettingsTestAddress": "Test Address", "LabelEmbeddedCover": "Embedded Cover", "LabelEnable": "Включить", "LabelEnd": "Конец", diff --git a/client/strings/zh-cn.json b/client/strings/zh-cn.json index a9851af58..aefcc5072 100644 --- a/client/strings/zh-cn.json +++ b/client/strings/zh-cn.json @@ -230,6 +230,7 @@ "LabelEmailSettingsFromAddress": "From Address", "LabelEmailSettingsSecure": "Secure", "LabelEmailSettingsSecureHelp": "If true the connection will use TLS when connecting to server. If false then TLS is used if server supports the STARTTLS extension. In most cases set this value to true if you are connecting to port 465. For port 587 or 25 keep it false. (from nodemailer.com/smtp/#authentication)", + "LabelEmailSettingsTestAddress": "Test Address", "LabelEmbeddedCover": "嵌入封面", "LabelEnable": "启用", "LabelEnd": "结束", diff --git a/server/managers/EmailManager.js b/server/managers/EmailManager.js index 3c26d2493..cf0e4b9cc 100644 --- a/server/managers/EmailManager.js +++ b/server/managers/EmailManager.js @@ -26,7 +26,7 @@ class EmailManager { transporter.sendMail({ from: this.db.emailSettings.fromAddress, - to: this.db.emailSettings.fromAddress, + to: this.db.emailSettings.testAddress || this.db.emailSettings.fromAddress, subject: 'Test email from Audiobookshelf', text: 'Success!' }).then((result) => { @@ -54,6 +54,7 @@ class EmailManager { transporter.sendMail({ from: this.db.emailSettings.fromAddress, to: device.email, + subject: "Here is your Ebook!", html: '
', attachments: [ { diff --git a/server/objects/settings/EmailSettings.js b/server/objects/settings/EmailSettings.js index 31dcc886d..40648887b 100644 --- a/server/objects/settings/EmailSettings.js +++ b/server/objects/settings/EmailSettings.js @@ -10,6 +10,7 @@ class EmailSettings { this.secure = true this.user = null this.pass = null + this.testAddress = null this.fromAddress = null // Array of { name:String, email:String } @@ -26,6 +27,7 @@ class EmailSettings { this.secure = !!settings.secure this.user = settings.user this.pass = settings.pass + this.testAddress = settings.testAddress this.fromAddress = settings.fromAddress this.ereaderDevices = settings.ereaderDevices?.map(d => ({ ...d })) || [] } @@ -38,6 +40,7 @@ class EmailSettings { secure: this.secure, user: this.user, pass: this.pass, + testAddress: this.testAddress, fromAddress: this.fromAddress, ereaderDevices: this.ereaderDevices.map(d => ({ ...d })) }