使用mailgun机器在sails上发送电子邮件会导致sails.machines ['...']上的'无法调用方法'.sendPlaintextEmail({...}

时间:2015-04-18 08:49:03

标签: sails.js mailgun treeline

我有一个我已经连接到treeline的sails项目 - 创建一个对象后我想使用mailgun机器发送电子邮件但是收到以下错误:

/Users/alexlunnon/Workspace/fclp/fclp/api/controllers/OfferController.js:48
   sails.machines['00ba429e-d255-4f44-8efc-af6f5cfa4942_0.3.1'].sendPlaint
                                                                ^
TypeError: Cannot call method 'sendPlaintextEmail' of undefined
at Object.sails.machines._project_1691_0.0.15.create_offer.setEnvironment.exec.success (/Users/alexlunnon/Workspace/fclp/fclp/api/controllers/OfferController.js:48:86)
at afterwards (/Users/alexlunnon/Workspace/fclp/fclp/node_modules/machine/lib/intercept-exit-callbacks.js:131:21)
at voided [as _onTimeout] (/Users/alexlunnon/Workspace/fclp/fclp/node_modules/machine/lib/intercept-exit-callbacks.js:98:20)
at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)

在控制器中,我可以看到在创建对象时成功调用了sails.machines['00ba429e-d255-4f44-8efc-af6f5cfa4942_0.3.1'].sendPlaintextEmail({。我也可以在机器文件夹00ba429e-d255-4f44-8efc-af6f5cfa4942_0.3.1下看到已与treeline的machinepack-mailgun同步。

尝试隔离问题我能够看到从调用sendPlaintextEmail删除所有动态内容会导致同样的错误 - 与sendHTMLEmail一样。我使用angular将对象发布到OfferController.js

调试此问题的任何提示或建议?

1 个答案:

答案 0 :(得分:2)

最可能的问题是某些依赖项未正确安装。最简单的解决方案是完全删除api/machines文件夹并再次运行treeline lift,让系统自动重新安装必要的依赖项。