Strapi 电子邮件确认无法正常工作。我点击 link 没有任何反应

Strapi email confirmation is not working properly. I click the link and nothing happens

我无法理解 Strapi 电子邮件确认的工作原理。我明白了: http://0.0.0.0/auth/emailconfirmation?confirmation=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9

eStrapi 有一个内置的电子邮件插件来处理这个问题,您还可以添加第三方电子邮件提供商。
它的工作方式是 Strapi 发送一封带有 link 的电子邮件,其中附加了一个散列。当您单击它时,它将转到 URL 中具有特定端点的服务器主机,服务器将自动验证您的电子邮件。必须遵循一些步骤:

  1. 在您的管理面板下,转到:设置 -> 用户权限插件 -> 电子邮件模板,为所有模板输入有效的发件人和回复电子邮件。
  2. 在用户权限插件下 -> 高级设置 -> 启用电子邮件确认并在确认后添加重定向 URL。前任。 https://your-site.com/login
  3. 在用户权限插件下 -> 角色 -> -> Public -> 用户权限 -> 验证 -> 已检查 sendEmailConfirmation。
  4. 在 config --> env --> production -> server.js 下创建此文件夹结构并将其粘贴到文件中:

  module.exports = ({ env }) => ({
    host: env('HOST'),
    port: env.int('PORT'),
    url: env('BACKEND_URL'),
});

  1. 然后在配置下的代码中 -> server.js 确保添加 url 键。

  module.exports = ({ env }) => ({
          host: env('HOST'),
          port: env.int('PORT'),
          url: env('BACKEND_URL_LOCAL'),
        });

在您的 .env 变量中添加您的服务器 url 用于托管和本地,确保您为正确的环境设置 NODE_ENV:

    BACKEND_URL=https://my-app.herokuapp.com
    BACKEND_URL_LOCAL=http://localhost:1337
    # NODE_ENV=production
    NODE_ENV=development

测试您的服务后端和本地。您的完整 url 字符串应如下所示:

本地 -> http://localhost:1337/api/auth/email-confirmation?confirmation=6d3a77679db63a94c16307ae133d9373b23c3986

托管 -> https://my-app.herokuapp.com/api/auth/email-confirmation?confirmation=738a515de684eb58dfb5e4aaa7fe7a9f35aa32454

确保 /api 在两个 link 中。