Bryan
Bryan

Reputation: 17581

Meteor Email not defined, but is running from Meteor.methods in Server Directory

I have the following Meteor method set up inside my server directory:

// Defined in collections/collections.js
Meteor.methods({
    sendEmail: function(options) {
        this.unblock();
        Email.send(options);
    }
});

which I call like this:

// Defined in client/main.js
Meteor.call('sendEmail', {
    to: '[email protected]', from: '[email protected]',
    text: 'testing testing'
});

I get one error in server shell running Meteor:

Exception while invoking method 'sendEmail' { stack: 'ReferenceError: Email is not defined\n    at [object

Object].Meteor.methods.sendEmail (app/server/methods/reservations.js:82:4)\n at [object Object].methodMap.(anonymous function) (packages/meteorhacks_kadira/lib/hijack/wrap_session.js:164:1)\n at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1711:12)\n at packages/ddp-server/livedata_server.js:711:19\n at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)\n at packages/ddp-server/livedata_server.js:709:40\n at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)\n at packages/ddp-server/livedata_server.js:707:46\n at tryCallTwo (/Users/sltwtr/.meteor/packages/promise/.0.7.3.1y6b71x++os+web.browser+web.cordova/npm/node_modules/promise/lib/core.js:45:5)\n at doResolve (/Users/sltwtr/.meteor/packages/promise/.0.7.3.1y6b71x++os+web.browser+web.cordova/npm/node_modules/promise/lib/core.js:200:13)',I20160721-11:50:31.471(-7)? source: 'method' }

I've added the email package using

meteor add email

What's going on? Questions like this one or this one.

Upvotes: 0

Views: 215

Answers (1)

Kalman
Kalman

Reputation: 8121

Email can only be sent from the server. Meteor.methods() is being called from the server and the client

Try the following:

Meteor.methods({
  sendEmail: function(options) {
    if(Meteor.isServer){
      this.unblock();
      Email.send(options);
    }
  }
});

Upvotes: 0

Related Questions