Node.js 错误HttpErrorResponse ;,网络::错误连接被拒绝
我正在研究我在Angular的第一个应用程序。我想从联系人表单发送电子邮件,但我有一个错误,我不明白它的来源 server.jsNode.js 错误HttpErrorResponse ;,网络::错误连接被拒绝,node.js,angular,nodemailer,Node.js,Angular,Nodemailer,我正在研究我在Angular的第一个应用程序。我想从联系人表单发送电子邮件,但我有一个错误,我不明白它的来源 server.js var nodemailer = require('nodemailer'); const http = require("http"); const cors = require("cors"); const bodyParser = require("body-parser"); const express = require("express"
var nodemailer = require('nodemailer');
const http = require("http");
const cors = require("cors");
const bodyParser = require("body-parser");
const express = require("express");
const path = require("path");
const api = require("./server/routes/api");
// create a new Express application instance
const app = express();
console.log( "dans server.js");
app.use(cors({origin:"*" })) ;
app.use(express.static('public'));
app.use(bodyParser.json());
console.log( "dans server.js");
//start application server on port 3000
server.listen(app.get('port'), function(){
console.info('Server listening on port ' + app.get('port'));
});
app.listen(3000, () => {
console.log("The server started on port 3000");
});
app.get("/",(req,res)=>{
res.send("");
});
app.post("/sendemail", (req, res) => {
var transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'emailsender@gmail.com',
pass: '*******'
}
});
var mailOptions = {
from: 'emailsender@gmail.com',
to: 'reciever@gmail.com',
subject: "hi with angular",
text: " hello great i sent u an email!"
};
transporter.sendMail(mailOptions, function(error, info) {
if (error) console.log(error);
else console.log("Message sent successfully: " + info.response);
});
});
import {Injectable} from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable ()
export class MessageService {
constructor (private _http: HttpClient) {}
sendMessage (body) {
return this._http.post ('http://localhost:3000/sendmail', body);
}}
package.json:
{
"name": "perfect",
"version": "0.0.0",
"main": "Server.js",
etc....
}
文件routes.js的内容:
router.post('/sendmail',actions.sendmail)代码>
发送邮件的代码
contactform.ts:
mysubmit(fo)
{console.log("submit");
this._MessageService.sendMessage (this.user) .subscribe (() => {
console.log(" service called submit");
console.log ("Contact form", "Message sent successfully", "success");
}}
messageservice.ts
var nodemailer = require('nodemailer');
const http = require("http");
const cors = require("cors");
const bodyParser = require("body-parser");
const express = require("express");
const path = require("path");
const api = require("./server/routes/api");
// create a new Express application instance
const app = express();
console.log( "dans server.js");
app.use(cors({origin:"*" })) ;
app.use(express.static('public'));
app.use(bodyParser.json());
console.log( "dans server.js");
//start application server on port 3000
server.listen(app.get('port'), function(){
console.info('Server listening on port ' + app.get('port'));
});
app.listen(3000, () => {
console.log("The server started on port 3000");
});
app.get("/",(req,res)=>{
res.send("");
});
app.post("/sendemail", (req, res) => {
var transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'emailsender@gmail.com',
pass: '*******'
}
});
var mailOptions = {
from: 'emailsender@gmail.com',
to: 'reciever@gmail.com',
subject: "hi with angular",
text: " hello great i sent u an email!"
};
transporter.sendMail(mailOptions, function(error, info) {
if (error) console.log(error);
else console.log("Message sent successfully: " + info.response);
});
});
import {Injectable} from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable ()
export class MessageService {
constructor (private _http: HttpClient) {}
sendMessage (body) {
return this._http.post ('http://localhost:3000/sendmail', body);
}}
package.json:
{
"name": "perfect",
"version": "0.0.0",
"main": "Server.js",
etc....
}
错误消息:
mysubmit(fo)
{console.log("submit");
this._MessageService.sendMessage (this.user) .subscribe (() => {
console.log(" service called submit");
console.log ("Contact form", "Message sent successfully", "success");
}}
HttpErrorResponse{headers:HttpHeaders,状态:0,状态文本:“未知
错误”,url:null,ok:false,…}
选项网络::错误连接被拒绝
提前谢谢你 听起来可能是CORS相关的问题。你研究过了吗?另外,ERR\u CONNECTION\u densed
通常与防火墙设置有关。您是否在本地运行所有内容?是,可能是CORS问题或代理被阻止的原因。您可以检查是否绕过proxyI添加了一个名为proxy-config.json{”/api/*:{“target”:http://localhost:3000“,“secure”:false,“logLevel”:“debug”}}
并将其添加到package.json文件的开始部分…但它还不能工作。。。。