Просмотр исходного кода

change timing to switch isMailerSetup

yusuketk 5 лет назад
Родитель
Сommit
bc124ad3f4
2 измененных файлов с 22 добавлено и 7 удалено
  1. 1 0
      src/server/routes/apiv3/app-settings.js
  2. 21 7
      src/server/service/mail.js

+ 1 - 0
src/server/routes/apiv3/app-settings.js

@@ -182,6 +182,7 @@ module.exports = (crowi) => {
       fileUpload: crowi.configManager.getConfig('crowi', 'app:fileUpload'),
       fileUpload: crowi.configManager.getConfig('crowi', 'app:fileUpload'),
       siteUrl: crowi.configManager.getConfig('crowi', 'app:siteUrl'),
       siteUrl: crowi.configManager.getConfig('crowi', 'app:siteUrl'),
       envSiteUrl: crowi.configManager.getConfigFromEnvVars('crowi', 'app:siteUrl'),
       envSiteUrl: crowi.configManager.getConfigFromEnvVars('crowi', 'app:siteUrl'),
+      isMailerSetup: crowi.mailService.isMailerSetup,
       fromAddress: crowi.configManager.getConfig('crowi', 'mail:from'),
       fromAddress: crowi.configManager.getConfig('crowi', 'mail:from'),
       smtpHost: crowi.configManager.getConfig('crowi', 'mail:smtpHost'),
       smtpHost: crowi.configManager.getConfig('crowi', 'mail:smtpHost'),
       smtpPort: crowi.configManager.getConfig('crowi', 'mail:smtpPort'),
       smtpPort: crowi.configManager.getConfig('crowi', 'mail:smtpPort'),

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

@@ -79,13 +79,12 @@ class MailService extends S2sMessageHandlable {
 
 
     const transmissionMethod = configManager.getConfig('crowi', 'mail:transmissionMethod');
     const transmissionMethod = configManager.getConfig('crowi', 'mail:transmissionMethod');
 
 
-    if (transmissionMethod === 'smtp') {
+    if (true) {
+      // if (transmissionMethod === 'smtp') {
       this.mailer = this.createSMTPClient();
       this.mailer = this.createSMTPClient();
-      this.isMailerSetup = true;
     }
     }
     else if (transmissionMethod === 'ses') {
     else if (transmissionMethod === 'ses') {
       this.mailer = this.createSESClient();
       this.mailer = this.createSESClient();
-      this.isMailerSetup = true;
     }
     }
     else {
     else {
       this.mailer = null;
       this.mailer = null;
@@ -102,9 +101,15 @@ class MailService extends S2sMessageHandlable {
 
 
     logger.debug('createSMTPClient option', option);
     logger.debug('createSMTPClient option', option);
     if (!option) {
     if (!option) {
+      const host = configManager.getConfig('crowi', 'mail:smtpHost');
+      const port = configManager.getConfig('crowi', 'mail:smtpPort');
+      console.log(host);
+      if (host == null || port == null) {
+        return null;
+      }
       option = { // eslint-disable-line no-param-reassign
       option = { // eslint-disable-line no-param-reassign
-        host: configManager.getConfig('crowi', 'mail:smtpHost'),
-        port: configManager.getConfig('crowi', 'mail:smtpPort'),
+        host,
+        port,
       };
       };
 
 
       if (configManager.getConfig('crowi', 'mail:smtpUser') && configManager.getConfig('crowi', 'mail:smtpPassword')) {
       if (configManager.getConfig('crowi', 'mail:smtpUser') && configManager.getConfig('crowi', 'mail:smtpPassword')) {
@@ -123,6 +128,8 @@ class MailService extends S2sMessageHandlable {
 
 
     logger.debug('mailer set up for SMTP', client);
     logger.debug('mailer set up for SMTP', client);
 
 
+    this.isMailerSetup = true;
+
     return client;
     return client;
   }
   }
 
 
@@ -130,9 +137,14 @@ class MailService extends S2sMessageHandlable {
     const { configManager } = this;
     const { configManager } = this;
 
 
     if (!option) {
     if (!option) {
+      const accessKeyId = configManager.getConfig('crowi', 'mail:sesAccessKeyId');
+      const secretAccessKey = configManager.getConfig('crowi', 'mail:sesSecretAccessKey');
+      if (accessKeyId == null || secretAccessKey == null) {
+        return null;
+      }
       option = { // eslint-disable-line no-param-reassign
       option = { // eslint-disable-line no-param-reassign
-        accessKeyId: configManager.getConfig('crowi', 'mail:sesAccessKeyId'),
-        secretAccessKey: configManager.getConfig('crowi', 'mail:sesSecretAccessKey'),
+        accessKeyId,
+        secretAccessKey,
       };
       };
     }
     }
 
 
@@ -141,6 +153,8 @@ class MailService extends S2sMessageHandlable {
 
 
     logger.debug('mailer set up for SES', client);
     logger.debug('mailer set up for SES', client);
 
 
+    this.isMailerSetup = true;
+
     return client;
     return client;
   }
   }