当前位置: 首页 > 知识库问答 >
问题:

节点上的EconnRefired

宋康安
2023-03-14

我正在尝试部署一个简单的节点应用程序,它从外部服务在webhook上发送电子邮件。我可以让它在我的机器上运行良好,但是一旦我将它部署到heroku,我就会在每个post请求上得到一个ErrConnRefied。我还尝试将createTransport函数的端口设置为465,但仍然收到相同的错误。

{错误:connect ECONNREJED 127.0.0.1:587 at_EXCEPTIONWITHOSTPORT(util.js:1044:20)at Object._ErrnoException(util.js:1022:11)at TCPConnectWRAP.AfterConnect[as oncomplete](net.js:1182:14)代码:“ECONNECTION”,errno:“ECONNREJED”,syscall:“CONNECTION”,地址:“127.0.0.1”,端口:587,命令:“CONN”}

const express = require('express');
const bodyParser = require('body-parser');
const nodemailer = require('nodemailer');
const app = express();

var port = process.env.PORT || 8800;

app.use(bodyParser.json());

app.post('/', function(req, res) {
   var messageBody = {};
   messageBody.name = req.body.name;
   messageBody.amount = req.body.amount_in_cash;
   messageBody.phone = req.body.phone;
   messageBody.email = req.body.email;

   if (!req.body.uid) {
    return console.log("No UID");
   }
   var transporter = nodemailer.createTransport({
       service : 'smtp.gmail.com',
       auth : {
          user : 'example@gmail.com',
          pass : 'xxxxxx'
       }
   });

   var mailOptions = {
      from: 'example@gmail.com',
      to : 'example@email.com',
      subject : "New Donation Lead",
      text : `Name: ${messageBody.name}\nPhone: ${messageBody.phone}\nEmail: 
${messageBody.email}\nAmount: ${messageBody.amount}`
   }

  transporter.sendMail(mailOptions, function(error, info) {
      if(error) {
        console.log(error);
      } else {        
        console.log("message sent");
      }
  });

  res.send(200).end();
});



app.listen(port, () => console.log('Listening on port: '+ port));

共有1个答案

楚弘益
2023-03-14

有点晚,但我发现了发生了什么。在Heroku上部署节点应用程序时,您必须使用可用的电子邮件“插件”之一。Heroku不允许他们的服务器访问任何没有这些的邮件。

 类似资料:
  • 尝试使用以下命令启动集线器和节点。 java-jar selenium-server-standalone-2.39.0.jar-角色中心-端口1234 java-jar selenium-server-standalone-2.39.0.jar-角色节点-中心http://x.x.x.x:1234/grid/register-浏览器“browserName=safari,setjavascrip

  • 问题内容: 因此,我的目标是以分布式方式建立一个由多个kafka经纪人组成的集群。但是我看不出让经纪人彼此了解的方法。 据我了解,每个代理在其配置中都需要一个单独的ID,如果我从Kubernetes启动容器,我不能保证或配置该ID吗? 他们还需要具有相同的advertised_host吗? 是否有我需要更改的参数才能使节点相互发现? 在Dockerfile的末尾使用脚本进行这样的配置是否可行?和/

  • 问题内容: 我正在使用Jenkins Build Flow插件来实现并行化。Groovy DSL执行某些文件操作。即使该选项设置为在特定从属服务器上运行作业,但DSL仍在主服务器上运行。这不是故意的。 有人可以告诉我如何限制DSL在指定的从站上运行吗?即使有一种方法可以通过DSL访问从文件系统,也应该可以。 通常,我们如何使用Groovy从Jenkins主节点访问节点从节点上的文件? 工作空间位于

  • 问题内容: 我从这里给出的说明在Ubuntu上安装了Node.js 当我在终端上写时,我看到了: 我可以在目录中看到节点。 写作表演 写作表演 另外,我可以在目录中看到节点。 那么,我该如何工作? 另外,如果我使用 zsh 而不是bash,则命令有效。 问题答案: 您需要手动创建一个符号链接。bash兼容shell的快捷方式: 或者,如果您使用非标准的shell,只需使用以下命令对找到的路径进行硬

  • 我按照本教程使用aws Corda AMI在aws上部署节点。 但在注册步骤之后, (< code > Java-jar corda . jar initial-registration-p PASSWORD _ FOR _ NETWORK _ ROOT _ TRUSTORE ), 它抛出此错误: [错误]10:14:31 0000[主]内部。NodeStartupLogging.invoke -

  • 我试图将一些JSON对象映射到java对象,然后将这些对象保存到我的neo4j DB中。 我想知道是否有使用neo4j-ogm的解决方案,或者我需要添加Spring Data Neo4J(SDN)来解决这个问题?