Next js Strapi 忘记密码电子邮件

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

我正在尝试将重置密码电子邮件发送到用户在忘记密码表单中提供的电子邮件,但收到错误“内部服务器错误”..

这是提交表单时调用的函数:

`

const onFinish = async (values) => {
  
      setIsLoading(true);
      axios
  .post(getStrapiURL('/api/auth/forgot-password'), {
    email:values.email,
  })
  .then(response => {
    message.success('Reset password email was sent successfully !',4);
  })
  .catch(error => {
    console.log('An error occurred:', error);
    message.error(error.response.data.error.message,3);
  });
    };

`

接下来,根据strapi文档,我安装了sendgrid提供程序包并在/config/plugins.js中添加其配置

`

module.exports = ({ env }) => ({
    // ...
    email: {
      config: {
        provider: 'sendgrid', // For community providers pass the full package name (e.g. provider: 'strapi-provider-email-mandrill')
        providerOptions: {
          apiKey: process.env.SENDGRID_API_KEY,
        },
        settings: {
          defaultFrom: '[email protected]',
          defaultReplyTo: '[email protected]',
         
        },
      },
    },
    
    'users-permissions': {
      config: {
        jwt: {
          expiresIn: '7d',
        },
      },
    },
  });

` 现在,当我使用收件人电子邮件提交忘记密码表单时,错误显示“内部服务器错误” 当我从 Strapi 仪表板测试它时它也失败了..请提供帮助! (下一个 js 与 Strapi 项目)

authentication next.js strapi forgot-password
2个回答
1
投票

除了这些配置之外,请确保定义模板

  1. 重置密码
  2. 电子邮件地址确认(如果需要)。

提供您在 sandgrid 注册时使用的同一电子邮件。

  • 确保您的应用程序中安装了 sandgrid。

  • 使用原始电子邮件发送和接收电子邮件。 Google 可能不允许发送 SMTP 电子邮件

  • 来自您的帐户,您可能需要查找该帐户。

谢谢


0
投票

Nadir Hussain 提供的答案有效。

© www.soinside.com 2019 - 2024. All rights reserved.