【问题标题】:parse-server-mailgun configuration issueparse-server-mailgun 配置问题
【发布时间】:2018-08-16 14:24:30
【问题描述】:

我正在开发一个使用解析服务器 (/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 适配器之前,我需要澄清该应用程序是否按预期工作。

【问题讨论】:

  • 它要求'appName'......所以在你的配置中,在'verifyuseremails'之上,你提供属性'appName'吗? ps 要让 MG 在 prod 中工作,您的主机需要做一些额外的工作(CNAME 和东西必须改变)。
  • 确实,如果我添加一行带有 appName 的内容,情况就会发生变化;但我还有另一个问题:“错误:MailgunAdapter 模板配置不正确。”
  • 使用 node / npm 安装适配器 .... stackoverflow.com/questions/39090606/…
  • 谢谢。我终于能够取得进展并解决问题,遵循以下内容:npmjs.com/package/parse-server-mailgun,然后对其余部分进行试验。我现在正在进一步解决这个问题:stackoverflow.com/questions/49185967/…

标签: node.js npm parse-server mailgun


【解决方案1】:

该错误表明未配置 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

【讨论】:

    猜你喜欢
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-06
    相关资源
    最近更新 更多