Venkat
Venkat

Reputation: 841

Email.send issue is email is not defined in Meteor

I need to send email by using Meteor. I did the code to regarding send mail. I have added a package email. But I got an error. I have no idea what happening. Check out the error & code below.

Error :

=> Meteor server running on: http://localhost:3000/
I20140118-10:54:35.900(5.5)? Exception while invoking method 'sendEmail' Referen
ceError: email is not defined
I20140118-10:54:35.989(5.5)?     at Meteor.methods.sendEmail (app/loginapp.js:13
7:39)
I20140118-10:54:35.989(5.5)?     at maybeAuditArgumentChecks (packages/livedata/
livedata_server.js:1349)
I20140118-10:54:35.990(5.5)?     at packages/livedata/livedata_server.js:569
I20140118-10:54:35.990(5.5)?     at _.extend.withValue (packages/meteor/dynamics
_nodejs.js:35)
I20140118-10:54:35.990(5.5)?     at packages/livedata/livedata_server.js:568
I20140118-10:54:35.992(5.5)?     at _.extend.withValue (packages/meteor/dynamics
_nodejs.js:35)
I20140118-10:54:35.992(5.5)?     at _.extend.protocol_handlers.method (packages/
livedata/livedata_server.js:567)
I20140118-10:54:35.992(5.5)?     at packages/livedata/livedata_server.js:472

JS Code :

if (Meteor.isClient)
 {
  Template.hello.greeting = function () 
  {
    return "Welcome to email.";
  };

  Template.hello.events
  ({
    'click input' : function ()
    {
      // template data, if any, is available in 'this'
      if (typeof console !== 'undefined')
        console.log("You pressed the button");
        // In your client code: asynchronously send an email
            Meteor.call('sendEmail',
            '*****@gmail.com',
            '****@gmail.com',
            'Hello from Meteor!',
            'This is a test of Email.send.');
    }
  });
}

if (Meteor.isServer) 
{
  Meteor.startup(function () 
  {
    // code to run on server at startup
    process.env.MAIL_URL = 'smtp://****@gmail.com:**password**@smtp.sendgrid.net:587';

  });
  Meteor.methods
  ({
  sendEmail: function (to, from, subject, text) 
  {
     console.log("*** sendEmail ***");

    // Let other method calls from the same client start running,
    // without waiting for the email sending to complete.
    this.unblock();

    Email.send
    ({
      to: to,
      from: from,
      subject: subject,
      text: text
    });
  }
});
}

Upvotes: 3

Views: 2569

Answers (1)

pahan
pahan

Reputation: 2453

i think you need to have email package installed

meteor add email

Upvotes: 3

Related Questions