Sotaro KARASAWA 10 лет назад
Родитель
Сommit
fc459ba0e0
2 измененных файлов с 15 добавлено и 8 удалено
  1. 6 3
      lib/routes/admin.js
  2. 9 5
      lib/util/mailer.js

+ 6 - 3
lib/routes/admin.js

@@ -203,6 +203,7 @@ module.exports = function(crowi, app) {
       // mail setting ならここで validation
       if (form['mail:from']) {
         validateMailSetting(req, form, function(err, data) {
+          debug('Error validate mail setting: ', err, data);
           if (err) {
             req.form.errors.push('SMTPを利用したテストメール送信に失敗しました。設定をみなおしてください。');
             return res.json({status: false, message: req.form.errors.join('\n')});
@@ -232,11 +233,13 @@ module.exports = function(crowi, app) {
     var option = {
       host: form['mail:smtpHost'],
       port: form['mail:smtpPort'],
-      auth: {
+    };
+    if (form['mail:smtpUser'] && form['mail:smtpPassword']) {
+      option.auth = {
         user: form['mail:smtpUser'],
         pass: form['mail:smtpPassword'],
-      }
-    };
+      };
+    }
     if (option.port === 465) {
       option.secure = true;
     }

+ 9 - 5
lib/util/mailer.js

@@ -24,19 +24,23 @@ module.exports = function(crowi) {
       option = {
         host: config.crowi['mail:smtpHost'],
         port: config.crowi['mail:smtpPort'],
-        auth: {
+      };
+
+      if (config.crowi['mail:smtpUser'] && config.crowi['mail:smtpPassword']) {
+        option.auth =  {
           user: config.crowi['mail:smtpUser'],
           pass: config.crowi['mail:smtpPassword']
-        }
-      };
+        };
+      }
       if (option.port === 465) {
         option.secure = true;
       }
     }
+    option.tls = {rejectUnauthorized: false};
 
     client = nodemailer.createTransport(option);
 
-    debug('mailer setted up for SMTP', client);
+    debug('mailer set up for SMTP', client);
     return client;
   }
 
@@ -54,7 +58,7 @@ module.exports = function(crowi) {
     var ses = require('nodemailer-ses-transport');
     client = nodemailer.createTransport(ses(option));
 
-    debug('mailer setted up for SES', client);
+    debug('mailer set up for SES', client);
     return client;
   }