首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用4078代码解决Sendgrid节点错误

用4078代码解决Sendgrid节点错误
EN

Stack Overflow用户
提问于 2021-12-28 16:04:22
回答 1查看 319关注 0票数 0

我写电子邮件课程:

代码语言:javascript
复制
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)')
   }
}

但我只犯了这个错误,我不明白这个错误。什么意思?如何解决这个问题?

错误: error: connect 3.209.246.195:2525 at TCPConnectWrap.afterConnect as oncomplete { errno:-4078,代码:'ESOCKET',syscall:'connect',地址:'3.209.246.195',端口: 2525,命令:'CONN‘}

我得到了这个“生产”错误:

错误:错误:消息失败: 550 from地址与验证的发件人身份不匹配。在此错误解决之前,无法发送邮件。访问(C:\Users\feruz\Desktop\complete\4-natours\node_modules\nodemailer\lib\smtp-connection\index.js:784:19) (C:\Users\feruz\Desktop\complete\4-natours\node_modules\nodemailer\lib\smtp-connection\index.js:1674:34) at SMTPConnection._actionSMTPStream (C:\Users\feruz\Desktop\complete\4-natours\node_modules\nodemailer\lib\smtp-connection\index.js:1674:34) at SMTPConnection的SMTPConnection._formatError https://sendgrid.com/docs/for-developers/sending-email/sender-identity/查看发件人身份要求。(C:\Users\feruz\Desktop\complete\4-natours\node_modules\nodemailer\lib\smtp-connection\index.js:1152:22) at SMTPConnection._processResponse (C:\Users\feruz\Desktop\complete\4-natours\node_modules\nodemailer\lib\smtp-connection\index.js:947:20) at SMTPConnection._onData (C:\Users\feruz\Desktop\complete\4-natours\node_modules\nodemailer\lib\smtp-connection\index.js:749:14) at TLSSocket(C:\Users\feruz\Desktop\complete\4-natours\node_modules\nodemailer\lib\smtp-connection\index.js:189:44) at TLSSocket.emit (events.js:315:20) at addChunk (_stream_readable.js:309:12) at readableAddChunk (_stream_readable.js:284:9) at TLSSocket.Readable.push (_stream_readable.js:223:10) {代码:'EMESSAGE',回复:'550该发件人地址与验证的发件人身份不匹配。在此错误解决之前,无法发送邮件。访问https://sendgrid.com/docs/for-developers/sending-email/sender-identity/查看发件人身份要求‘,responseCode: 550,

命令:'DATA‘}

EN

回答 1

Stack Overflow用户

发布于 2021-12-28 16:18:01

IP,您使用的端口不正确,或者服务不在3.209.246.195端口2525处运行。你应该再检查一遍。

检查连接: ping 3.209.246.195

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70509542

复制
相关文章

相似问题

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