2014-01-18 33 views
3

我需要使用Meteor发送电子邮件。我做了关于发送邮件的代码。我已经添加了一个包邮件。但是我得到了一个错误。我不知道发生了什么事。检查下面的错误&代码。Email.send问题是电子邮件未在流星中定义

错误:

=> 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代码:

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 
    }); 
    } 
}); 
} 
+0

当然这是它在抱怨的代码?根据例外情况,你引用未定义的变量'error',但在你向我们展示的代码中,你永远不会这样做。 –

+0

@Venkat,在github上发布完整的重新发布,我们可以进一步提供帮助。 – alanning

回答

3

我认为你需要有email package installed

meteor add email 
+0

是的,我已经安装了电子邮件软件包@pahan – Venkat

+1

@Venkat看着你得到的错误,你用了一个小写的'email',你上面给出的代码使用了大写的Email',这是正确的。如果您调整代码以与您使用的代码相匹配,则不会有问题。 – Akshat