【问题标题】:Could not load email provider "nodemailer" (Strapi)无法加载电子邮件提供商“nodemailer”(Strapi)
【发布时间】:2022-04-12 14:31:35
【问题描述】:

我正在尝试使用 nodemailer 设置 Strapi 应用程序。

我已经添加了带有yarn add @strapi/provider-email-nodemailer 的nodemailer 依赖项,就像描述的official page 一样。之后我将以下配置添加到我的plugins.js 文件中(我已将敏感信息替换为XXXXXXXX):

module.exports = ({ env }) => ({
    email: {
        config: {
            provider: 'nodemailer',
            providerOptions: {
                host: env('SMTP_HOST', 'XXXXXXXX'),
                port: env('SMTP_PORT', 587),
                auth: {
                    user: env('SMTP_USERNAME', 'XXXXXXXX'),
                    pass: env('SMTP_PASSWORD', 'XXXXXXXX'),
                },
                secure: true
            },
            settings: {
                defaultFrom: 'XXXXXXXX',
                defaultReplyTo: 'XXXXXXXX',
            },
        },
    },
});

但是当我尝试用 yarn develop 绑定 Strapi 时,我收到以下错误消息:

C:\Dev\Strapi\Projects\strapi>yarn develop
yarn run v1.22.15
$ strapi develop
Building your admin UI with development configuration ...
Admin UI built successfully
[2021-12-27 23:27:51.485] debug: ⛔️ Server wasn't able to start properly.
[2021-12-27 23:27:51.487] error: Could not load email provider "nodemailer".
Error: Could not load email provider "nodemailer".
    at createProvider (C:\Dev\Strapi\Projects\strapi\node_modules\@strapi\plugin-email\server\bootstrap.js:23:11)
    at Object.module.exports [as bootstrap] (C:\Dev\Strapi\Projects\strapi\node_modules\@strapi\plugin-email\server\bootstrap.js:31:37)
    at Object.bootstrap (C:\Dev\Strapi\Projects\strapi\node_modules\@strapi\strapi\lib\core\domain\module\index.js:40:47)
    at Object.bootstrap (C:\Dev\Strapi\Projects\strapi\node_modules\@strapi\strapi\lib\core\registries\modules.js:28:19)
    at async Strapi.runLifecyclesFunctions (C:\Dev\Strapi\Projects\strapi\node_modules\@strapi\strapi\lib\Strapi.js:463:5)
    at async Strapi.bootstrap (C:\Dev\Strapi\Projects\strapi\node_modules\@strapi\strapi\lib\Strapi.js:401:5)
    at async Strapi.load (C:\Dev\Strapi\Projects\strapi\node_modules\@strapi\strapi\lib\Strapi.js:410:5)
    at async Strapi.start (C:\Dev\Strapi\Projects\strapi\node_modules\@strapi\strapi\lib\Strapi.js:161:9)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

我做错了什么?配置看起来很简单,所以我不知道出了什么问题。

【问题讨论】:

    标签: node.js nodemailer strapi


    【解决方案1】:

    您需要删除配置部分:

    email: {
      provider: 'nodemailer',
      providerOptions: {
        host: env('SMTP_HOST', 'smtp.xxxxxx.xx'),
        port: env('SMTP_PORT', xxx),
        secure: true,
        auth: {
          user: env('SMTP_USERNAME'),
          pass: env('SMTP_PASSWORD'),
        },
      },
      settings: {
        defaultFrom: env('SMTP_FROM_EMAIL'),
        defaultReplyTo: env('SMTP_REPLY_EMAIL'),
      },
    },
    

    UPD:对不起,我现在明白了,我使用了这个包https://www.npmjs.com/package/strapi-provider-email-nodemailer,而你使用了这个https://www.npmjs.com/package/@strapi/provider-email-nodemailer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-20
      • 1970-01-01
      • 2018-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多