在 Heroku 上为 Parse-server-example 设置 Mailgun

Setup Mailgun for Parse-server-example on Heroku

我正在构建一个 Android 应用程序,在 Heroku 上使用 Parse Server Example 作为后端。我需要 Mailgun 从 ParseUI class ParseLoginHelpFragment 发送密码重置邮件。 我还没有找到关于如何使 Mailgun 与 Heroku/Parse 服务器一起工作的答案。这是我在 Heroku 上的配置:

也尝试了 MAILGUN_SMTP_PORT 589,结果相同。 如果有人能指出我设置中的错误,我将不胜感激。

编辑:我知道我需要输入 Mailgun API 密钥和一些额外的设置。我试过在 index.js 文件中这样做:

var server = ParseServer({
      ...otherOptions,
      // Enable email verification
      verifyUserEmails: true,
      // The public URL of your app.
      // This will appear in the link that is used to verify email addresses and reset passwords.
      // Set the mount path as it is in serverURL
      publicServerURL: 'https://example.com/parse',
      // Your apps name. This will appear in the subject and body of the emails that are sent.
      appName: 'Parse App',
      // The email adapter
      emailAdapter: {
        module: 'parse-server-simple-mailgun-adapter',
        options: {
          // The address that your emails come from
          fromAddress: 'parse@example.com',
          // Your domain from mailgun.com
          domain: 'example.com',
          // Your API key from mailgun.com
          apiKey: 'key-mykey',
        }
      }
    });

然而,应用程序在 Heroku 上崩溃,仍然缺少一些东西...

终于成功了:

1) 使用 Mailgun 提供的步骤确保您的域已通过验证。

2) 通过托管服务提供商检查您的域的区域设置。确切的说明可能因提供商而异,我使用 Bluehost,这些设置位于域>>区域设置

3) 在您的托管服务提供商处创建一个邮件地址,并将电子邮件和密码输入域的 Mailgun 设置。

4) 替换 index.js 文件中 var api 的代码:

var api = new ParseServer({


databaseURI: databaseUri || 'mongodb://localhost:27017/dev',
  cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
  appId: process.env.APP_ID || 'myAppId',
  masterKey: process.env.MASTER_KEY || '', //Add your master key here. Keep it secret!
  serverURL: process.env.SERVER_URL || 'http://localhost:1337/parse',  // Don't forget to change to https if needed
  liveQuery: {
    classNames: ["Posts", "Comments"] // List of classes to support for query subscriptions
  },
  appName: 'Your App Name',
  publicServerURL: 'https://yourappaddress.com/parse',
  emailAdapter: {
    module: 'parse-server-simple-mailgun-adapter',
    options: {
      // The address that your emails come from 
      fromAddress: 'yourapp@yourappaddress.com',
      // Your domain from mailgun.com 
      domain: 'email.yourappaddress.com',
      // Your API key from mailgun.com 
      apiKey: 'key-private-key-from-mailgun',
    }
  }

});

如果不用Heroku,就不用process.env.*

希望对您有所帮助

如果您还没有这样做,您需要使用 npm 安装解析服务器简单的 mailgun 适配器。只需转到 parse-server-example 目录的根目录:npm install parse-server-simple-mailgun-adapter.