【问题标题】:Accounts.forgotPassword/Email error: "forgotPassword" Error: Greeting never receivedAccounts.forgotPassword/Email 错误:“forgotPassword”错误:从未收到问候语
【发布时间】:2016-02-10 14:38:03
【问题描述】:

所以我没有使用通用的Accounts-ui 包,而是在配置密码恢复系统。到目前为止,一切顺利...直到出现以下错误:

我知道这是我在/sever/smtp.js 中设置的 smtp 错误,内容如下:

Meteor.startup(function () {
  smtp = {
    username: 'myEmail%40gmail.com',
    password: 'password',
    server:   'smtp.gmail.com',
    port: 25
  }

  process.env.MAIL_URL = 'smtp://myEmail%40gmail.com:' + encodeURIComponent('password') + "@smtp.gmail.com:25";
});

我猜你可以完全忽略上面的smtp 对象,因为我必须手动更改process.env.MAIL_URL 变量,因为在此之前我有另一个错误。这整个过程是在我的本地计算机/localhost 上设置的。

在此之前我有端口 465,并且出现了找不到用户名和密码的错误。我更改为端口 25,并且该过程一直有效,直到我收到此错误,说从未收到问候语。

非常感谢您提供任何帮助。

编辑:我还想补充一点,添加电子邮件包和更改端口会弄乱Accounts.createUser 功能,除非我从服务器中删除 smtp 设置,否则 Meteor 无法创建用户。

【问题讨论】:

    标签: meteor


    【解决方案1】:

    我是 Meteor 的菜鸟,但下面的内容确实对我有用。

    Meteor.startup(function () {
      smtp = {
        username: 'myEmail',   // eg: myEmail@gmail.com
        password: 'password,   // eg: password for your email
        server:   'smtp.gmail.com',  // gmail smtp
        port: 25
      }
    
      process.env.MAIL_URL = 'smtp://' + encodeURIComponent(smtp.username) + ':' + encodeURIComponent(smtp.password) + '@' + encodeURIComponent(smtp.server) + ':' + smtp.port;
    });
    

    让我知道这是否有效

    【讨论】:

    • 感谢您的评论。但我仍然收到同样的“从未收到问候”错误。
    【解决方案2】:

    我不确定这是否有帮助,但是:

    您可以使用@ 代替%40

    【讨论】:

      【解决方案3】:

      这是我在 localhost 和 Digital Ocean 中的工作

      /*Send Email Through Gmail SMTP*/
      process.env.MAIL_URL="smtp://gmailUsername:gmailPassword@smtp.gmail.com:587";
      

      如果您还有问候问题,请告诉我

      无论如何,您不需要Meteor.startup。您只需要将它放在服务器文件夹中的某个位置。例如:server/email.js

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-02
        • 2012-05-15
        • 2020-07-04
        • 2022-01-13
        • 2022-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多