【发布时间】:2022-01-17 11:10:39
【问题描述】:
一直在尝试创建一个简单的 node.js 服务器,借助 sendgrid 的 API 将电子邮件发送到指定的电子邮件地址。代码之前运行得很好。但是,在我尝试使用 Heroku 部署服务器后,终端指示服务器正在侦听但不响应浏览器请求。(浏览器只是永远加载页面,最终将无法连接。)我不记得了对代码进行任何更改。这是我关注的Heroku tutorial。
const express = require("express");
const bodyParser = require("body-parser");
const app = express();
app.use(express.static("accessories"));
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json);
app.get("/", (req, res) => {
res.sendFile('index.html', { root: '.' });
})
app.post("/", function(req, res){
let emailTo = req.body.email;
let subjectLine = req.body.subject;
let message = req.body.body;
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
const msg = {
to: emailTo,
from: 'example@example.com',
subject: subjectLine,
text: message,
// html: message,
}
sgMail
.send(msg)
.then(() => {
res.sendFile('success.html', {root: '.'});
console.log('Email sent');
})
.catch((error) => {
res.sendFile('failure.html' + error, {root: '.'});
console.error(error);
})
const jsonData = JSON.stringify(msg);
console.log(jsonData);
})
app.listen(3000, function(){
console.log("Server is listenning on port 3000.");
});
【问题讨论】:
标签: javascript html node.js heroku