mailgun /解析服务器(Heroku的)不工作

问题描述:

有两个iOS应用(让我们为它们命名的appA和appB的)都使用parse-server托管在herokumailgun,我面临的问题描述以下。mailgun /解析服务器(Heroku的)不工作

让我先说这两个应用程序是不相关的,除了它们都有用户帐户和邮件mailgun用于在用户创建帐户时发送确认邮件。

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

我试图找出两者之间可能存在什么差异,只做一项工作而不做其他。 我也读过或听过关于这个主题的一些教程,来提醒我我是如何做这种设置的(几个月前回来的)。但我无法理解任何相关的差异并解决我的问题,即将appB带回工作状态。

任何暗示(关于该做什么或寻找什么)由在该领域比我更有经验的人将非常感激。

在此先感谢!

仅供参考,这里是该应用的解析服务器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: '[email protected]', 
     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); 
+0

当您收到一封电子邮件时,您是否看到'heroku logs -tail'中两个应用程序之间存在任何差异T' – brennan

+0

是的,我看到确实有很大的不同。在工作应用程序的情况下,创建新帐户时日志中会有大约10行跟踪,而单击电子邮件验证链接时会有另外几行。在非工作应用程序的情况下,日志中没有任何内容。我可以验证该帐户是否在数据库中创建,但没有验证邮件出现。是否有我可以检查是否所有设置都应该如此的事项清单? – Michel

+0

我们可以看到解析服务器'index.js'吗?这两个应用程序共享相同的分析服务器吗?您还可以将环境变量与'heroku run printenv'进行比较。 – brennan

搜索网,尝试不同的东西,左看右看之后,我最终通过查找缺少什么。 我把它放在这里以防将来帮助别人。

在我的岗位解析服务器index.js缺少系是:

  • verifyUserEmails:真实,
  • APPNAME:上述 '解析应用程序',

的线条需要包含在内部:

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