Meteor忘了密码电子邮件没发送

时间:2015-04-16 04:38:43

标签: node.js nginx meteor mandrill meteor-accounts

我正在建立一个基于流星的网站。并将其部署在ubuntu vps中,并通过nginx和SSL认证。

使用 forgotPassword 方法创建忘记密码机制时:

Accounts.forgotPassword({email: the_email});

我收到了“ HTTP / 1.1 502 Bad Gateway ”消息,它似乎来自Meteor websocket。当然,没有发送电子邮件。

我使用mandrill发送电子邮件,配置更像是这样:

smtp = {
        username: 'dummy@email.com',
        password: 'abgfgtyhuyujkQVD1ox1Od7eQ',
        server:   'smtp.mandrillapp.com',
        port: 587   
}

process.env.MAIL_URL = 'smtp://' + encodeURIComponent(smtp.username)
    + ':' + encodeURIComponent(smtp.password) + '@' + encodeURIComponent(smtp.server) + ':' + smtp.port;

此配置位于服务器文件夹中。

我也尝试使用该mandrill设置定义MAIL_URL环境变量,但仍然无效。

这只发生在部署版本中,但在本地运行良好。我在本地测试时成功发送了重置密码电子邮件。

有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:0)

我已经解决了同样的问题! 试试这个(在您的VPS上):

  • cd / home / yourProject / bundle / programs / server&& npm安装 - 生产
  • npm install bcrypt simplesmtp
  • 重新启动
  • cd / home / yourProject / bundle / programs / server / npm / node_modules / meteor / &安培;&安培; rm -rf npm-bcrypt /
  • cd / home / yourProject / bundle / programs / server / npm / node_modules / meteor / email / node_modules / &安培;&安培; rm -rf simplesmtp /
  • 重新启动您的应用