Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 为什么我的电子邮件似乎没有使用Meteor';s的电子邮件包?_Email_Meteor - Fatal编程技术网

Email 为什么我的电子邮件似乎没有使用Meteor';s的电子邮件包?

Email 为什么我的电子邮件似乎没有使用Meteor';s的电子邮件包?,email,meteor,Email,Meteor,我有一个流星应用程序,我正在使用。我已经在使用帐户(帐户ui和帐户密码),最近用gmail帐户设置了process.env.MAIL\u URL变量,测试了“重置密码”功能并收到了一封电子邮件 当时我试图编写代码来接收电子邮件(用户只需单击一个按钮),基本上就是为了查看这一工作,但在本地运行meteor时,我没有在我的控制台中看到“登录”的电子邮件 如果我这样做 if(Meteor.isServer){ Email.send({ to: "to.address@email

我有一个流星应用程序,我正在使用。我已经在使用帐户(帐户ui和帐户密码),最近用gmail帐户设置了
process.env.MAIL\u URL
变量,测试了“重置密码”功能并收到了一封电子邮件

当时我试图编写代码来接收电子邮件(用户只需单击一个按钮),基本上就是为了查看这一工作,但在本地运行meteor时,我没有在我的控制台中看到“登录”的电子邮件

如果我这样做

 if(Meteor.isServer){
     Email.send({
      to: "to.address@email.com",
      from: "from.address@email.com",
      subject: "Example Email",
      text: "Text of the email."
    });
 })
我看到一条控制台消息

(这与我使用account packages功能单击“重置密码”时得到的结果相同)

但是,在调用我自己的代码时,按照简单的文档说明,我看不到这条消息

我在/server下有一个serverMethods.js文件

Meteor.methods({
  sendEmail: function (text) {

    check([text], [String]);

    this.unblock();
    Email.send({
      to: "to.address@email.com",
      from: "from.address@email.com",
      subject: "Example Email",
      text: text
    });
});
然后在客户机上调用

Template.NavBar.events({
"click #testEmail" :function(event){
     event.preventDefault();
      Meteor.call('sendEmail', 'dataText');
  }
});
(是
testEmail
我的导航栏模板中一个项目的ID)。单击后,如果I console.log,我可以看到我的meteor呼叫正在处理中,但我在控制台中看不到与发送电子邮件相同的消息


考虑到文档中解释的这个功能的简单性,以及我找到的关于这个主题的大多数教程基本上都做了相同的事情,我缺少的一定是非常简单和明显的。尽管如此,我还是不明白为什么我看不到在我的控制台中登录的电子邮件,因为它与帐户功能一起发生,或者如果我从服务器端调用
email.send

也许这只是一个输入错误,但请确保您正在设置环境变量“MAIL\u URL”而不是“MAIL\UR”

我发现从设置文件(仅在服务器端)动态设置它更容易:


嗯,这毕竟是愚蠢的。如果您有
process.env.MAIL\u URL
您将不会看到控制台中记录的“邮件未发送;要启用发送,请设置邮件URL环境变量。”。这仅在未设置变量时显示

我的问题是我设置了变量,但我对用于测试的“to”电子邮件地址不够小心。我没有将电子邮件发送到正确的帐户,因此我没有看到任何电子邮件被发送,也没有在控制台上看到任何“假”电子邮件

所以基本上,对于
process.env.MAIL\uURL
,我只需要更改一下

Email.send({
  to: "to.address@email.com", <--- Real address here
  from: "from.address@email.com",
  subject: "Example Email",
  text: text
});
Email.send({

致:“致。address@email.com“,谢谢。在写问题时,这是一个输入错误。正如我所说,我获得了与帐户密码相关联的电子邮件功能(以便正确设置ent var)。此外,即使我没有该变量,在我的本地环境中,我也会在控制台上看到消息(警告:电子邮件尚未实际发送,必须发送变量)。让我困惑的是,我在控制台上看不到消息,甚至(显然)按照文档说明操作,我也看不到代码中的错误或不同之处。
Email.send({
  to: "to.address@email.com", <--- Real address here
  from: "from.address@email.com",
  subject: "Example Email",
  text: text
});