我有一个我已经连接到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
调试此问题的任何提示或建议?
答案 0 :(得分:2)
最可能的问题是某些依赖项未正确安装。最简单的解决方案是完全删除api/machines
文件夹并再次运行treeline lift
,让系统自动重新安装必要的依赖项。