parse-server-mailgun配置问题

时间:2018-03-08 09:28:53

标签: node.js npm parse-server mailgun

我正在使用parse-server(/ Heroku)作为后端的iOS应用程序。 我想在用户创建帐户时实施电子邮件确认系统,并允许电子邮件恢复丢失的密码。

为此,我想使用mailGun。我通过运行:

安装了适配器
npm install --save parse-server-mailgun

我还将其添加到ParseServer配置块中。

  verifyUserEmails: true,
  emailAdapter: {
    //module: 'parse-server-simple-mailgun-adapter',
    module: '@parse/simple-mailgun-adapter',
    //module: '@parse-server-mailgun',
    options: {
      // The address that your emails come from
      fromAddress: 'me@abc.com',
      // Your domain from mailgun.com
      domain: 'something.com',
      // Your API key from mailgun.com
      apiKey: 'mykey-mykey-mykey-mykey-mykey-mykey',
    }
  }

但它不起作用。我不知道我是否忘记了一些重要的步骤,除了上述两个。或者如果我的配置错误。我必须承认我对上面这一行的信条没有信心:

module: '@parse/simple-mailgun-adapter',

这是我在运行推送时得到的结果:

git add . && git commit -m "update myapp" && git push heroku master

2018-03-08T09:03:3......0 app[api]: - Build started by user me
.....
2018-03-08T09:03:3......0 app[api]: Build succeeded
2018-03-08T09:03:5......0 heroku[web.1]: State changed from crashed to starting
2018-03-08T09:04:0......0 heroku[web.1]: Starting process with command `npm start`
.....
2018-03-08T09:04:0......0 app[web.1]: > node index.js
2018-03-08T09:04:0......0 app[web.1]:undefined
2018-03-08T09:04:1......0 app[web.1]: 
2018-03-08T09:04:1......0 app[web.1]: /app/node_modules/parse-server/lib/Config.js:174
2018-03-08T09:04:1......0 app[web.1]:       throw 'An app name is required for e-mail verification and password resets.';
2018-03-08T09:04:1......0 app[web.1]:       ^
2018-03-08T09:04:1......0 app[web.1]: An app name is required for e-mail verification and password resets.
2018-03-08T09:04:1......0 app[web.1]: npm ERR! code ELIFECYCLE
2018-03-08T09:04:1......0 app[web.1]: npm ERR! errno 1
2018-03-08T09:04:1......0 app[web.1]: npm ERR! parse-server-example@1.4.0 start: `node index.js`
2018-03-08T09:04:1......0 app[web.1]: npm ERR! Exit status 1
2018-03-08T09:04:1......0 app[web.1]: npm ERR! 
2018-03-08T09:04:1......0 app[web.1]: npm ERR! Failed at the parse-server-example@1.4.0 start script.
2018-03-08T09:04:1......0 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely ...
2018-03-08T09:04:1......0 app[web.1]: 
2018-03-08T09:04:1......0 app[web.1]: npm ERR! A complete log of this run can be found in:
2018-03-08T09:04:1......0 app[web.1]: npm ERR!     ....-debug.log
2018-03-08T09:04:1......0 heroku[web.1]: Process exited with status 1
2018-03-08T09:04:1......0 heroku[web.1]: State changed from starting to crashed
2018-03-08T09:04:1......0 heroku[web.1]: State changed from crashed to starting
2018-03-08T09:04:1......0 heroku[web.1]: Starting process with command `npm start`
2018-03-08T09:04:2......0 app[web.1]: 
2018-03-08T09:04:2......0 app[web.1]: > parse-server-example@1.4.0 start /app
2018-03-08T09:04:2......0 app[web.1]: > node index.js
2018-03-08T09:04:2......0 app[web.1]:undefined
2018-03-08T09:04:2......0 app[web.1]: 
2018-03-08T09:04:2......0 app[web.1]: /app/node_modules/parse-server/lib/Config.js:174
2018-03-08T09:04:2......0 app[web.1]:       throw 'An app name is required for e-mail verification and password resets.';
2018-03-08T09:04:22.996195+00:00 app[web.1]:       ^
2018-03-08T09:04:22.996197+00:00 app[web.1]: An app name is required for e-mail verification and password resets.
2018-03-08T09:04:23.011936+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2018-03-08T09:04:23.012286+00:00 app[web.1]: npm ERR! errno 1
2018-03-08T09:04:23.013532+00:00 app[web.1]: npm ERR! parse-server-example@1.4.0 start: `node index.js`

我们可以阅读'电子邮件验证和密码重置需要一个应用名称。'但我不知道在哪里解决这个问题。

在我尝试安装此mailGun适配器之前,我需要澄清该应用程序是按预期工作的。

1 个答案:

答案 0 :(得分:0)

错误表明未配置 appName 属性。它抛出是因为默认电子邮件模板引用了 appName。配置appName有两种方式:

  1. 如果您使用 config.json 文件启动解析服务器,请将其添加到 config.json 中,如下所示:
config.json: { "allowClientClassCreation": false,
               ...    
               "appName": "my_app_name",   
               ...  
             }
  1. 或者,使用 env 变量设置 appName:
PARSE_SERVER_APP_NAME="my_app_name"

参考:

最好的指南是代码:

https://github.com/parse-community/parse-server/blob/637326d3afcf82a4118f5ad5b316e6ae52fb5910/src/Options/Definitions.js

文档:

https://parseplatform.org/parse-server/api/4.5.0/#email-verification-and-password-reset https://parseplatform.org/parse-server/api/master/ParseServerOptions.html