mailgun / parse-server(heroku)无法正常工作

时间:2017-04-11 04:13:04

标签: email heroku parse-server mailgun heroku-api

使用parse-serverheroku上托管的mailgun设置两个iOS应用(让我们将它们命名为appA和appB),我将面临以下问题。

首先我要说两个应用程序是不相关的,除了它们都有用户帐户,并且当用户创建帐户时,邮件mailgun用于发送确认邮件。

appA工作正常,这意味着在创建新帐户时会发送确认邮件。 但是appB不再有效,这意味着在创建新帐户时不会发送确认邮件。

我试图找出两者之间可能有什么区别,让一个工作而不是另一个工作。 我还阅读或听过关于这个主题的一些教程,以提醒我如何进行这种设置(几个月前回来)。但我无法掌握任何相关的差异并解决我的问题,即将appB带回工作状态。

非常感谢在现场比我更有经验的人提示(做什么或寻找什么)。

提前致谢!

作为参考,这里是app的parse-server index.js,它不起作用:

var express = require('express');
var ParseServer = require('parse-server').ParseServer;
var path = require('path');
var S3Adapter = require('parse-server').S3Adapter;

var databaseUri = process.env.DATABASE_URI || process.env.MONGODB_URI;

if (!databaseUri) {
  console.log('DATABASE_URI not specified, falling back to localhost.');
}

var api = new ParseServer({
  databaseURI: databaseUri || 'mongodb://heroku_database',
  cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
  appId: process.env.APP_ID || '__appId__',
  masterKey: process.env.MASTER_KEY || '__masterKey__',
  filesAdapter: new S3Adapter(
    "__AAKKIII__",
    "pP7Lm16Tt/nTrKq3242Hv",
    "myapp",
    {directAccess: true}
  ),
  serverURL: process.env.SERVER_URL || 'https://myapp.herokuapp.com/parse',
  liveQuery: {
    classNames: ["User", "myappUnit", "myappFieldOne", "myappFieldTwo"]
  },
  emailAdapter: {
    module: 'parse-server-simple-mailgun-adapter',
    options: {
      fromAddress: 'parse@example.com',
      domain: 'mydomain.net',
      apiKey: 'key-fjdfijofd',
    }
  }
});

var app = express();

app.use('/public', express.static(path.join(__dirname, '/public')));

var mountPath = process.env.PARSE_MOUNT || '/parse';
app.use(mountPath, api);

app.get('/', function(req, res) {
  res.status(200).send('I dream of being a website.  Please star the parse-server repo on GitHub!');
});

app.get('/test', function(req, res) {
  res.sendFile(path.join(__dirname, '/public/test.html'));
});

var port = process.env.PORT || 1337;
var httpServer = require('http').createServer(app);
httpServer.listen(port, function() {
    console.log('parse-server-example running on port ' + port + '.');
});

ParseServer.createLiveQueryServer(httpServer);

1 个答案:

答案 0 :(得分:0)

在搜索网络,尝试不同的事情并仔细观察后,我最终找到了遗漏的东西。 我把它放在这里,以防将来有人帮助。

我帖子中parse-server index.js中缺少的行是:

  • verifyUserEmails:true,
  • appName:'Parse App',

上面的行需要包含在内:

var api = new ParseServer({
......
})