使用带有 Strapi 的自己的 SMTP 服务器发送电子邮件时出错

问题描述 投票:0回答:0

我使用 Strapi 作为我的项目的后端,并且我已经使用 Strapi 文档中提到的步骤将我自己的 SMTP 服务器配置为电子邮件提供商。但是,当我在创建新条目后尝试发送电子邮件时,出现以下错误:

Error: connect ECONNREFUSED 145.145.145.145:587                                   
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1161:16)            
    at TCPConnectWrap.callbackTrampoline (node:internal/async_hooks:130:17) {    
  errno: -4078,                                                                  
  code: 'ESOCKET',                                                               
  syscall: 'connect',                                                            
  address: '145.145.145.145',                                                     
  port: 587,                                                                     
  command: 'CONN'                                                                
}

这是我来自 plugins.js 的配置:

email: {
    config: {
      provider: 'nodemailer',
      providerOptions: {
        host: env('SMTP_HOST'),
        port: env('SMTP_PORT'),
        auth: {
          user: env('SMTP_USERNAME'),
          pass: env('SMTP_PASSWORD'),
        },
        pool: true,
        logger: true,
        debug: true,
        maxConnections: 10000,
        secure: false,
        tls: {
          rejectUnauthorized: false,
        },
      },

      settings: {
        defaultFrom: env('SMTP_FROM'),
        defaultReplyTo: env('SMTP_REPLY_TO'),
      },
    },
  },

还有我用来发送电子邮件的生命周期钩子:

module.exports = {
    async afterCreate(event) {  
        const { result } = event;

        try {
            await strapi
                .plugin('email')
                .service('email')
                .send({
                    to: result.send_to[0].email,
                    subject: result.subject,
                    text: result.content,
                })
        } catch (error) {
            console.log(error)
        }
    }
}
node.js strapi nodemailer
© www.soinside.com 2019 - 2024. All rights reserved.