无法在创建用户时向用户发送验证电子邮件

时间:2015-02-27 17:43:00

标签: meteor

在致电

时,我没有收到用户的此类电子邮件
Accounts.sendVerificationEmail(user._id);

我正在使用帐户融合来创建社交帐户中的用户。 用户似乎没有合适的电子邮件字段。

这里是'我的用户结构:

    { createdAt: Fri Feb 27 2015 18:41:45 GMT+0000 (UTC),
  _id: 'WqQwxMNjkj2',
  services:
    { google:
I20150227-18:41:45.115(0)?       { accessToken: 'dsqfdfsdf',
        expiresAt: 1425066104902,
        id: '117265302061982152409',
        email: 'genjurosama@gmail.com',        verified_email: true,
     name: 'john',
      given_name: 'own',
        family_name: 'Fafa',
        picture: '',
        locale: 'en',
        gender: 'male' } } }

1 个答案:

答案 0 :(得分:1)

我正在添加"重新发送验证电子邮件"功能和你一样,如果我尝试呼叫:

Accounts.sendVerificationEmail(user._id, function(error) {...});

我收到错误No such email address for user。我可以在user.emails[0].address清楚地看到电子邮件地址。我认为这可能是一个错误,因为如果你打电话:

Accounts.sendVerificationEmail(user._id, user.emails[0].address, function(error) {...});

有效。

文档说明电子邮件参数:" 可选。发送电子邮件的用户的地址。该地址必须位于用户的电子邮件列表中。默认为列表中第一个未经验证的电子邮件。"

所以我要将此报告为错误。

编辑:这不是错误。 Accounts.sendVerificationEmail函数没有进行回调 - 它是同步的。因此,当您通过回调时,它会认为发送电子邮件的可选电子邮件地址 - 因此是错误。

来源:https://github.com/meteor/meteor/issues/5081#event-398306740