我不明白为什么流星仅在 生产环境 中发送电子邮件失败 . 在开发模式下,邮件发送时没有任何问题,并且在 生产环境 中,当应用程序与节点一起运行时,它会失败 .
这是我的版本:
包:
- email@1.0.12
开发中:
- 流星1.3.2.4
在 生产环境 中:
- node v4.4.5
发送电子邮件:至:to@email.test,来自:'source@email.test',主题:我的主题,文本:基本电子邮件内容TypeError:无法在SMTPClient._actionAUTHComplete中分配给只读属性'reconnectCount'为false /var/www/bundle/programs/server/npm/node_modules/meteor/email/node_modules/simplesmtp/lib/client.js:823:34)在SMTPClient._onData(/ var / www / bundle / programs / server / npm) /node_modules/meteor/email/node_modules/simplesmtp/lib/client.js:329:29)在emitAdneChunk(events.js:169:13)的emitAddChunk(events.js:169:7)处读取了AddAddChunk(_stream_readable . js:153:18)在TLSWrap.onread的TLSSocket.Readable.push(_stream_readable.js:111:10)(net.js:531:20)
谢谢您的帮助 :)
1 回答
解决方案是@Tdm建议的解决方案:使用meteor提供的节点版本 .
但是,与需要最新版本节点的CI(eslint,sass-lint)集成有点棘手,所以这是我的进展方式:
对于我的CI lint测试,我使用的是最新版本(v4.4) . 设置为gitlab CI
对于我的 生产环境 环境,我基于节点v0.10.46构建了另一个docker机器(即使当前的Meteor基于v0.10.45) .
谢谢Tdm指出这个问题!