У меня проблема с Nodemailer на Heroku, и я был бы очень признателен вам за вашу помощь.Проблема с Heroku с NodeMailer
Предыдущая версия моего приложения, используемого для работы на Heroku без проблем, и когда я откатываюсь до этой версии, она все еще работает нормально. В последней версии приложения я не внес изменения в код доступа к Nodemailer, поэтому это не имеет для меня никакого смысла.
Версия nodemailer является: 0.6.5
Вот лог сообщение:
2015-02-18T04:29:57.730815+00:00 app[web.2]: POST /employer/53f44e3df4f8150200554eb7/job/ 200 32ms - 581b
2015-02-18T04:29:58.045066+00:00 app[web.2]: /app/node_modules/nodemailer/node_modules/simplesmtp/lib/client.js:918
2015-02-18T04:29:58.045069+00:00 app[web.2]: this._xoauth2.reconnectCount = 0;
2015-02-18T04:29:58.045070+00:00 app[web.2]: ^
2015-02-18T04:29:58.041300+00:00 app[web.2]: Exit callback being invoked
2015-02-18T04:29:58.045072+00:00 app[web.2]: TypeError: Cannot assign to read only property 'reconnectCount' of false
2015-02-18T04:29:58.045073+00:00 app[web.2]: at SMTPClient._actionAUTHComplete (/app/node_modules/nodemailer/node_modules/simplesmtp/lib/client.js:918:34)
2015-02-18T04:29:58.045075+00:00 app[web.2]: at SMTPClient._onData (/app/node_modules/nodemailer/node_modules/simplesmtp/lib/client.js:352:29)
2015-02-18T04:29:58.045076+00:00 app[web.2]: at TLSSocket.emit (events.js:107:17)
2015-02-18T04:29:58.045078+00:00 app[web.2]: at readableAddChunk (_stream_readable.js:163:16)
2015-02-18T04:29:58.045079+00:00 app[web.2]: at TLSSocket.Readable.push (_stream_readable.js:126:10)
2015-02-18T04:29:58.045080+00:00 app[web.2]: at TCP.onread (net.js:529:20)
2015-02-18T04:29:58.769185+00:00 heroku[web.2]: Process exited with status 1
2015-02-18T04:29:58.780771+00:00 heroku[web.2]: State changed from up to crashed
2015-02-18T04:29:58.780771+00:00 heroku[web.2]: State changed from crashed to starting
2015-02-18T04:30:00.371578+00:00 heroku[web.2]: Starting process with command `node app.js`
2015-02-18T04:30:01.904015+00:00 app[web.2]: Detected 512 MB available memory, 512 MB limit per process (WEB_MEMORY)
2015-02-18T04:30:01.904115+00:00 app[web.2]: Recommending WEB_CONCURRENCY=1
2015-02-18T04:30:02.288471+00:00 app[web.2]: Failed to load c++ bson extension, using pure JS version
2015-02-18T04:30:02.652326+00:00 app[web.2]: Started in PROD mode
2015-02-18T04:30:02.815284+00:00 app[web.2]: Express server listening on port 9622
2015-02-18T04:30:03.291115+00:00 heroku[web.2]: State changed from starting to up
Мы можем видеть, что происходит сбой на линии 918 «client.js» с ошибкой :
TypeError: Невозможно назначить только для свойства «reconnectCount» только для чтения.
Зачем пытаться присвоить 'false' 'reconnectCount'?
Мой код очень прост:
app.locals.smtpTransport = nodemailer.createTransport ('SMTP', { служба: 'Gmail', аутентификации: { пользователь: "[email protected]" , проход: "pass123" } }); Затем я использую код для отправки почты, как:
req.app.locals.smtpTransport.sendMail (......
Этот код работает на моем промежуточном экземпляре Heroku так, что не делает смысл для меня.
Я вошел запрос в службу поддержки с Heroku и каких-либо указаний, которые вы можете предоставить перейду на них.
спасибо за вашу помощь.
Это полезно знать разработчикам, которые устанавливают платформу ведения блога Ghost. После обновления Nodejs до версии 0.12, предположим, что вы используете версию Ghost до 0.4, вы получите эту ошибку в следующем файле на этом номере линии в зависимости от вашего номера версии Ghost и версии nodemailer: 'ghost/node_modules/nodemailer /node_modules/simplesmtp/lib/client.js: 828'. Я отредактировал эту строку соответственно, и мой блог pre v.0.4 Ghost теперь может отправлять электронные письма с помощью Nodejs v.0.12. – surfbuds