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

如何使用4078代码解决Sendgrid nodemailer错误

百里智勇
2023-03-14

我写电子邮件类:

const pug = require('pug')
const nodemailer = require('nodemailer');
const htmlToText = require('html-to-text');

module.exports = class Email{
   constructor(user, url) {
      this.to = user.email;
      this.firstName = user.name.split(' ')[0];
      this.url = url;
      this.from = `Feruz Atamuradow <${process.env.EMAIL_FROM}>`;
   }

   newTransport() {
      if (process.env.NODE_ENV === 'production') {
         return nodemailer.createTransport({
         service: 'SendGrid',
         auth: {
            user: process.env.SENDGRID_USERNAME,
            pass: process.env.SENDGRID_PASSWORD
         }
         });
      }

      return nodemailer.createTransport({
         host: process.env.EMAIL_HOST,
         port: process.env.EMAIL_PORT,
         auth: {
         user: process.env.EMAIL_USERNAME,
         pass: process.env.EMAIL_PASSWORD
         },
         tls:{
            rejectUnauthorized:false
         } // and  try this without 

      });
  }

   async send(template, subject) {
      const html = pug.renderFile(`${__dirname}/../views/email/${template}.pug`, {
         firstName: this.firstName,
         url: this.url,
         subject
      });

      const mailOptions = {
         from: this.from,
         to: this.to,
         subject,
         html,
         text: htmlToText.fromString(html)
      }
      
      await this.newTransport().sendMail(mailOptions)

   }
   async sendWelcome() {
      await this.send('welcome', 'Welcome to the Natours Family!');
   }
   async sendPasswordReset() {
      await this.send('passwordReset', 'Your password reset token (valid for only 10 minutes)')
   }
}

但我只得到了这个错误,我不理解这个错误。这意味着什么以及如何解决

错误:错误:在TCPConnectW连接ECONNREFUSED3.209.246.195:2525rap.after连接[作为完成](net.js:1146: 16){errno:-4078,代码:“ESOCKET”,系统调用:“连接”,地址:“3.209.246.195”,端口:2525,命令:“CONN”}

我发现这个“生产”错误:

错误:错误:消息失败:550发件人地址与已验证的发件人标识不匹配。在解决此错误之前,无法发送邮件。参观https://sendgrid.com/docs/for-developers/sending-email/sender-identity/查看SMTPConnection的发件人身份要求_SMTPConnection处的formatError(C:\Users\feruz\Desktop\complete\4-natours\node\U modules\NodeEmailer\lib\smtp connection\index.js:784:19)_SMTPConnection上的actionSMTPStream(C:\Users\feruz\Desktop\complete\4-natours\node\U modules\NodeEmailer\lib\smtp connection\index.js:1674:34)。(C:\Users\feruz\Desktop\complete\4-natours\node\u modules\nodemailer\lib\smtp connection\index.js:1152:22)位于SMTPConnection_SMTPConnection上的processResponse(C:\Users\feruz\Desktop\complete\4-natours\node\U modules\NodeEmailer\lib\smtp connection\index.js:947:20)_TLSSocket上的onData(C:\Users\feruz\Desktop\complete\4-natours\node\u modules\nodemailer\lib\smtp connection\index.js:749:14)。SMTP连接_位于TLSSocket的onSocketData(C:\Users\feruz\Desktop\complete\4-natours\node\U modules\NodeEmailer\lib\smtp connection\index.js:189:44)。在TLSSocket的readableAddChunk(\u stream\u readable.js:309:12)处的addChunk(\u stream\u readable.js:284:9)处发出(events.js:315:20)。可读。推送(\u stream\u readable.js:223:10){代码:“EMESSAGE”,响应:“550发件人地址与已验证的发件人身份不匹配。在解决此错误之前,无法发送邮件。请访问https://sendgrid.com/docs/for-developers/sending-email/sender-identity/要查看发件人身份要求,请执行响应代码:550,命令:'数据'}

共有1个答案

计胤
2023-03-14

IP,您使用的端口不正确或服务未在3.209.246.195的端口2525上运行。您应该再次检查它。

检查连接:ping3.209.246.195

检查服务(端口):telnet 3.209.246.195 2525

 类似资料:
  • 我试图学习反应,所以我有这个示例代码的全堆栈反应投票应用程序,我试图让它工作,但运行npm安装后,接着npm启动我收到以下错误,当我运行有人能帮我解决这个问题吗: 这是我的package.json: 最后是我的日志文件:

  • 我对vue.js非常陌生,现在我正在尝试使用https://ly525.github.io/material-vue-daterange-picker/guide.html#Introduction中的vue.js datepicker 但是当我导入要使用的脚本时,我会得到这样的消息 “VMDDateRangePicker”已声明,但其值从未读取。TS(6133)找不到模块“v-md-date-r

  • CORS错误似乎是web领域中众所周知的问题。但我第一次尝试了FlitterWeb,我遇到了严重的错误。 下面的代码在iOS设备上运行时在应用程序版本中运行良好,但当我在Chrome上通过beta频道的web调试测试相同的代码时,它遇到了CORS错误。 其他stackoverflow的回答解释了如何用他们项目的服务器端文件解决CORS问题。但是我完全不知道什么是服务器的东西,以及如何处理他们的答案

  • 我试图更新一个列,但在更新过程中总是有相同的错误,如果我不想禁用“安全更新模式”,我该如何解决这个问题?这是我的查询 错误代码:1175。您使用的是安全更新模式,并且您试图更新一个没有使用键列禁用安全模式的表,请在“首选项”中切换该选项-

  • git拉取代码报如下错误,什么原因导致得啊 Auto packing the repository in background for optimum performance. See “git help gc” for manual housekeeping. Unlink of file '.git/objects/pack' failed. Should I try again? (y/n)

  • 问题内容: 我只是写一个小的Ajax框架来实现小项目的可重用性,但是我遇到了一个问题。基本上,我在发送请求时收到’ ‘错误,我不知道发生了什么。 HTML页面(已修剪但显示错误) PHP文件: 完整错误: 我只是看不到哪里出了问题,有什么想法吗? 问题答案: 异常“组件返回的故障代码:0x80070057(NS_ERROR_ILLEGAL_VALUE)”是由于将非法值传递到open方法的调用中引起