如何为Parse实现电子邮件适配器以允许密码重置功能

时间:2018-06-11 10:31:27

标签: android amazon-ec2 parse-server mailgun bitnami

问题描述

我正在使用AWS EC2来托管我的bitnam解析服务器,该服务器充当我的Android应用程序的后端。我无法为我的应用用户实施密码重置。我按照以下说明进行操作:

但我仍然得到错误:

" com.parse.ParseRequest $ ParseRequestException:密码重置和电子邮件验证功能需要appName,publicServerURL和emailAdapter。"

我所做的一步一步

  1. 我去了mailgun并创建了一个帐户。

  2. 我将自己拥有的域名(由squarespace托管)注册到mailgun。 (见下图)

  3. enter image description here

    1. 我访问了位于apps / parse / htdocs文件夹中的server.js文件。

    2. 我修改了我的server.js文件,如下所示。

    3. enter image description here

      1. 然后在我的Android应用程序中,我使用以下代码调用了测试密码重置。
      2. enter image description here

        我不确定的事情

        1. 我还没有物理安装任何东西,比如简单的mailgun-adapter。我试着点击此链接:https://github.com/parse-community/parse-server-simple-mailgun-adapter。并安装 npm install --save @ parse / simple-mailgun-adapter 到我的apps / parse / htdocs文件夹。但是我收到了一大堆错误。如下所示。
        2. enter image description here

          1. 我不确定server.UR文件中的publicServerURL是什么。我认为它与serverURL是一样的,所以如果你查看我的server.js文件,serverURL和publicServerURL都有相同的输入。
          2. 如果你们发现我犯的任何错误,请告诉我。我已经在这方面工作了一个星期,但仍然无法恢复密码恢复工作。谢谢!

2 个答案:

答案 0 :(得分:0)

几件事:

  1. 如果您的package.json具有
  

“ parse-server-simple-mailgun-adapter”:“ 1.0.0”,

在“依赖项”部分下,则应自动安装该软件包。我通常在node_modules文件夹下检查。

  1. resetPassword错误表示您缺少appName参数。您需要将其添加到服务器配置对象中:
var config = { 
    ...
    publicServerURL: (process.env.SERVER_URL || 'http://localhost:1337') + mountPath,
    // Your apps name. This will appear in the subject and body of the emails that are sent.
    appName: 'YOURAPPNAME', 
    ...
  1. 您的publicServerURL通常类似于server.domain.com。这很有帮助,因为人们将其密码重置后将重定向到他们将在其中输入新密码的域上的网页。如果域反映了他们可以信任的东西,对用户来说很好...

希望这会有所帮助。

答案 1 :(得分:0)

在package.json中添加{},因为它不能为空。