Explorar o código

Revert "manage isMailerActive"

This reverts commit 48713efb7d8383352de22b758a5d895960a13e0b.
yusuketk %!s(int64=5) %!d(string=hai) anos
pai
achega
f71029924b
Modificáronse 2 ficheiros con 28 adicións e 28 borrados
  1. 21 6
      src/server/routes/apiv3/app-settings.js
  2. 7 22
      src/server/service/mail.js

+ 21 - 6
src/server/routes/apiv3/app-settings.js

@@ -182,7 +182,6 @@ module.exports = (crowi) => {
       fileUpload: crowi.configManager.getConfig('crowi', 'app:fileUpload'),
       siteUrl: crowi.configManager.getConfig('crowi', 'app:siteUrl'),
       envSiteUrl: crowi.configManager.getConfigFromEnvVars('crowi', 'app:siteUrl'),
-      isMailerActive: crowi.mailService.isMialerActive,
       fromAddress: crowi.configManager.getConfig('crowi', 'mail:from'),
       smtpHost: crowi.configManager.getConfig('crowi', 'mail:smtpHost'),
       smtpPort: crowi.configManager.getConfig('crowi', 'mail:smtpPort'),
@@ -295,6 +294,22 @@ module.exports = (crowi) => {
 
   });
 
+  /**
+   * send mail (Promise wrapper)
+   */
+  async function sendMailPromiseWrapper(smtpClient, options) {
+    return new Promise((resolve, reject) => {
+      smtpClient.sendMail(options, (err, res) => {
+        if (err) {
+          reject(err);
+        }
+        else {
+          resolve(res);
+        }
+      });
+    });
+  }
+
   /**
    * validate mail setting send test mail
    */
@@ -302,9 +317,9 @@ module.exports = (crowi) => {
 
     const { configManager, mailService } = crowi;
 
-    // if (!mailService.isMailerSetup) {
-    //   throw Error('mailService is not setup');
-    // }
+    if (!mailService.isMailerSetup) {
+      throw Error('mailService is not setup');
+    }
 
     const fromAddress = configManager.getConfig('crowi', 'mail:from');
     if (fromAddress == null) {
@@ -340,7 +355,7 @@ module.exports = (crowi) => {
       text: 'このメールは、WikiのSMTP設定のアップデートにより送信されています。',
     };
 
-    await crowi.mailService.sendMailPromiseWrapper(smtpClient, mailOptions);
+    await sendMailPromiseWrapper(smtpClient, mailOptions);
   }
 
   const updateMailSettinConfig = async function(requestMailSettingParams) {
@@ -356,7 +371,7 @@ module.exports = (crowi) => {
     mailService.publishUpdatedMessage();
 
     return {
-      isMailerActive: mailService.isMailerActive,
+      isMailerSetup: mailService.isMailerSetup,
       fromAddress: configManager.getConfig('crowi', 'mail:from'),
       smtpHost: configManager.getConfig('crowi', 'mail:smtpHost'),
       smtpPort: configManager.getConfig('crowi', 'mail:smtpPort'),

+ 7 - 22
src/server/service/mail.js

@@ -21,9 +21,9 @@ class MailService extends S2sMessageHandlable {
     this.mailer = {};
 
     /**
-     * the flag whether mailer is valid
+     * the flag whether mailer is set up successfully
      */
-    this.isMailerActive = false;
+    this.isMailerSetup = false;
 
     this.initialize();
   }
@@ -70,6 +70,8 @@ class MailService extends S2sMessageHandlable {
   initialize() {
     const { appService, configManager } = this;
 
+    this.isMailerSetup = false;
+
     if (!configManager.getConfig('crowi', 'mail:from')) {
       this.mailer = null;
       return;
@@ -79,9 +81,11 @@ class MailService extends S2sMessageHandlable {
 
     if (transmissionMethod === 'smtp') {
       this.mailer = this.createSMTPClient();
+      this.isMailerSetup = true;
     }
     else if (transmissionMethod === 'ses') {
       this.mailer = this.createSESClient();
+      this.isMailerSetup = true;
     }
     else {
       this.mailer = null;
@@ -166,26 +170,7 @@ class MailService extends S2sMessageHandlable {
     );
 
     config.text = output;
-    return this.sendMailPromiseWrapper(this.mailer, this.setupMailConfig(config));
-  }
-
-
-  /**
-   * send mail (Promise wrapper)
-   */
-  async sendMailPromiseWrapper(mailer, options) {
-    return new Promise((resolve, reject) => {
-      mailer.sendMail(options, (err, res) => {
-        if (err) {
-          this.isMailerActive = false;
-          reject(err);
-        }
-        else {
-          this.isMailerActive = true;
-          resolve(res);
-        }
-      });
-    });
+    return this.mailer.sendMail(this.setupMailConfig(config));
   }
 
 }