获取错误:“quot;用户没有此类电子邮件地址。”;在meteor中调用Accounts.sendVerificationEmail(userId)时

获取错误:“quot;用户没有此类电子邮件地址。”;在meteor中调用Accounts.sendVerificationEmail(userId)时,meteor,Meteor,我尝试向用户发送电子邮件验证链接时出错。我在其他项目中使用了Meteor的电子邮件功能,没有任何问题。但在目前的项目中,我得到了这个错误,我不知道是什么原因造成的 user.emails[0]。地址确实有电子邮件地址。 调用方法“sendVerificationLink”时出现异常错误:用户没有此类电子邮件地址。 在AccountsServer.Accounts.sendVerificationEmail(软件包/帐户密码/密码\u server.js:745:11) 在[object obje

我尝试向用户发送电子邮件验证链接时出错。我在其他项目中使用了Meteor的电子邮件功能,没有任何问题。但在目前的项目中,我得到了这个错误,我不知道是什么原因造成的

user.emails[0]。地址确实有电子邮件地址。
调用方法“sendVerificationLink”时出现异常错误:用户没有此类电子邮件地址。
在AccountsServer.Accounts.sendVerificationEmail(软件包/帐户密码/密码\u server.js:745:11)
在[object object].sendVerificationLink(server/user/users\u methods.js:25:23)

我正在使用METEOR@1.3-beta.11我的代码如下:

**Client:**

let user = { email: signupEmail,password: password }

 Accounts.createUser(user, (err) => {
     if(!err) {         
         Meteor.call('sendVerificationLink');
     }
 })

**Server:**

Meteor.startup(function () {
process.env.MAIL_URL = 'smtp://postmaster%40sandboxd9...7.mailgun.org:<pwrd>@smtp.mailgun.org:587';
});

...

Meteor.methods({
  sendVerificationLink() {
    let userId = Meteor.userId();
    if ( userId ) {
      return Accounts.sendVerificationEmail( userId );
    }
  }
});

经过一天浪费的调试,我发现了错误。我在上面的原始问题中发布的代码没有任何错误。用户集合的模式定义中有一个错误,我安装了另一个包-jagi:astronomy。“已验证”(电子邮件验证标志)的验证规则设置为字符串。它应该是布尔值。我仍然不明白为什么这会阻止发送验证电子邮件。电子邮件字段验证本身正确,电子邮件已保存。但是,一旦我将“验证”字段的验证规则更改为布尔值,错误就消失了。

我在浪费了一天的调试之后发现了错误。我在上面的原始问题中发布的代码没有任何错误。用户集合的模式定义中有一个错误,我安装了另一个包-jagi:astronomy。“已验证”(电子邮件验证标志)的验证规则设置为字符串。它应该是布尔值。我仍然不明白为什么这会阻止发送验证电子邮件。电子邮件字段验证本身正确,电子邮件已保存。但是,一旦我将“已验证”字段的验证规则更改为布尔值,错误就消失了。

您确定
signupEmail
包含有效的电子邮件地址吗?您确定
signupEmail
包含有效的电子邮件地址吗?
Email.send({
  to: "xxxxx@gmail.com",
  from: "xxxxx@gmail.com",
  subject: "Example Email",
  text: "This is a test email."
});