Я пытаюсь развернуть угловой веб-сайт 7, который использует nodemailer для отправки электронных писем, но продолжает получать ошибку 500 внутренняя ошибка сервера.
Угловая сторона пучка работает нормально, но я не могу понять, как запустить сервер узлов в Интернете (я понимаю, что это может быть глупый вопрос, но простите меня, я новичок)
Это мой сервис для связи с нами
url: string = "/send"; //THIS MIGHT BE A PROBLEM
constructor(private http: HttpClient) {}
sendMessage(messageContent: any) {
return this.http.post(this.url, JSON.stringify(messageContent), {
headers: new HttpHeaders({ "Content-Type": "application/json" }),
responseType: "text"
});
А это мой файл server.js
const express = require("express");
const nodemailer = require("nodemailer");
const app = express();
const port = 3000;
const bodyParser = require("body-parser");
const transporter = nodemailer.createTransport({
host: "smtp.gmail.com",
provider: "gmail",
port: 465,
secure: true,
auth: {
user: "an email",
pass: "a password"
},
tls: {
rejectUnauthorized: false
}
});
app.use(bodyParser.json());
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header(
"Access-Control-Allow-Headers",
"Origin, X-Requested-With, Content-Type, Accept"
);
next();
});
app.post("/send", function(req, res) {
let senderName = req.body.name;
let senderEmail = req.body.email;
let messageSubject = req.body.subject;
let messageText = req.body.message;
let copyToSender = req.body.contactFormCopy;
let mailOptions = {
to: ["anemail"],
from: senderName,
subject: messageSubject,
text: messageText,
replyTo: senderEmail
};
if (senderName === "") {
res.status(400);
res.send({
message: "Bad request"
});
return;
}
if (senderEmail === "") {
res.status(400);
res.send({
message: "Bad request"
});
return;
}
if (messageSubject === "") {
res.status(400);
res.send({
message: "Bad request"
});
return;
}
if (messageText === "") {
res.status(400);
res.send({
message: "Bad request"
});
return;
}
if (copyToSender) {
mailOptions.to.push(senderEmail);
}
transporter.sendMail(mailOptions, function(error, response) {
if (error) {
console.log(error);
res.end("error");
} else {
console.log("Message sent: ", response);
res.end("sent");
}
});
});
app.listen(port, function() {
console.log("Express started on port: ", port);
});