首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从面板启用node.js应用程序登录?

如何从面板启用node.js应用程序登录?
EN

Stack Overflow用户
提问于 2019-05-19 00:20:34
回答 2查看 3.2K关注 0票数 1

我有一个使用nodemailer发送电子邮件的node.js应用程序。它在本地主机上工作得很好,但当我从服务器上尝试它时,我无法接收任何邮件。

因为,应用程序的其他活动工作正常,这意味着我假设nodemailer已正确安装在服务器上。我尝试了两种方式,使用主机作为我的服务器,并使用gmail作为服务的一部分。这是我上次试过的。这在本地主机上也工作得很好。但是,当我把这个放到服务器上时,我没有得到任何响应。

我将nodemailer的配置设置为:

代码语言:javascript
复制
const output = `
    <h3>Limit Details</h3>
    <p>Admin has added ${limit} quota(s) to ${username}.</p>
  `;

  // create reusable transporter object using the default SMTP transport
  let transporter = nodemailer.createTransport({
    service: 'gmail',
    port: 25,
    secure: false, // true for 465, false for other ports
    auth: {
        user: '<gmail>', 
        pass: '<password>' 
    }
  });

  // setup email data with unicode symbols
  let mailOptions = {
      from: '"Sender" <sender gmail>', // sender address
      to: '<receiver gmail>', // list of receivers
      subject: 'Quota added information.', // Subject line
      html: output // html body
  };

  // send mail with defined transport object
  transporter.sendMail(mailOptions, (error, info) => {
      if (error) {
          return console.log(error);
      }
      console.log('Message sent: %s', info.messageId);   
      console.log('Preview URL: %s', nodemailer.getTestMessageUrl(info));
  });

为了测试,我已经操控了messageId和预览Url,那么,从哪里我可以在cpanel中查看这条控制台消息?如何在cpanel中查看我的应用程序中的这些控制台内容??

EN

回答 2

Stack Overflow用户

发布于 2019-08-16 00:47:53

不幸的是,据我所知,在cpanel服务器上没有访问节点日志的简单方法。我通常做的是将log4js设置为将日志写入文件:

代码语言:javascript
复制
const log4js = require('log4js');

log4js.configure({
  appenders: { everything: { type: 'file', filename: 'logs.log' } },
  categories: { default: { appenders: ['everything'], level: 'ALL' } }
});

const logger = log4js.getLogger();

然后,您可以使用以下命令创建日志:

代码语言:javascript
复制
logger.debug('log message');

您还可以向服务器提供日志文件:

代码语言:javascript
复制
app.get('/log', (req, res) => {
  res.sendFile(path.join(__dirname + '/logs.log'));
});
票数 2
EN

Stack Overflow用户

发布于 2019-08-29 22:02:50

cPanel的应用程序管理器不是很充实。我一直在尝试它,并将其与我习惯的( PM2 )进行比较,并将切换回PM2。如果任何人有兴趣支持,我已经向cPanel提出了一个功能请求。

否则,答案是使用@zenott suggests这样的自定义日志记录器。但是,我更喜欢重写console.log,以便在需要时很容易切换回常规的控制台日志记录。

我的解决方案是:

代码语言:javascript
复制
const moment = require('moment')
const fs = require('fs')
let logStream = fs.createWriteStream('log.txt')
let console = {}
console.log = (obj) => {
  var s = ''
  if (typeof obj === 'string')
    s = obj
  else
    s = JSON.stringify(obj)

  var dS = '[' + moment().format(momentFormat) + '] '
  s = `[${dS}] ${s}'\n'`
  logStream.write(s)
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56200795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档