Tôi gặp sự cố với Nodemailer trên Heroku và tôi thực sự đánh giá cao sự trợ giúp của bạn.Vấn đề Heroku với NodeMailer
Phiên bản trước của ứng dụng của tôi được sử dụng để làm việc trên Heroku không có vấn đề gì và khi tôi quay lại phiên bản đó, nó vẫn hoạt động tốt. Trong phiên bản mới nhất của ứng dụng, tôi đã không thực hiện thay đổi nào đối với mã truy cập Nodemailer vì vậy điều này không thực sự hợp lý với tôi.
Các phiên bản của nodemailer là: 0.6.5
Dưới đây là thông điệp log:
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
Chúng ta có thể thấy rằng nó là không on line 918 của 'client.js' với lỗi của :
LoạiError: Không thể chỉ định cho thuộc tính chỉ đọc 'reconnectCount' sai.
Tại sao nó cố gắng gán 'false' cho 'reconnectCount'?
Mã của tôi là thực sự đơn giản:
app.locals.smtpTransport = nodemailer.createTransport ('SMTP', { dịch vụ: 'Gmail', auth: { người dùng: "[email protected]" , vượt qua: "pass123" } }); sau đó tôi sử dụng mã để gửi thư như:
req.app.locals.smtpTransport.sendMail (......
Mã này hoạt động trên dụ dàn của tôi về Heroku để không làm ý nghĩa với tôi.
tôi đã đăng một yêu cầu hỗ trợ với Heroku và bất kỳ hướng dẫn mà bạn có thể cung cấp cho tôi sẽ vượt qua lên chúng.
cảm ơn rất nhiều sự giúp đỡ của bạn.
Điều này hữu ích khi biết các nhà phát triển cài đặt nền tảng blog Ghost. Khi bạn nâng cấp Nodejs lên phiên bản 0.12, giả sử bạn đang sử dụng phiên bản trước 0,4 của Ghost, bạn sẽ gặp lỗi này trong tệp sau tại số dòng này tùy thuộc vào số phiên bản Ghost của bạn và phiên bản nodemailer: 'ghost/node_modules/nodemailer /node_modules/simplesmtp/lib/client.js: 828'. Tôi đã chỉnh sửa dòng này cho phù hợp và blog Ghost v.0.4 trước của tôi giờ đây có thể gửi email với Nodejs v.0.12. – surfbuds