[英]Nodemailer: My frontend website can't send emails through node mailer from a different IP address
[英]CORS does not recognize the IP address of my frontend
早上好。 我的后端Cors有问题,Cors表示我白名单的ip地址和我前端使用的地址不一样。
这是将数据发送到后端的服务:
import { Injectable } from '@angular/core'; import { Persona } from '../modelos/persona'; import { Observable, throwError } from 'rxjs'; import { catchError, tap, map } from 'rxjs/operators'; import {HttpClient,HttpErrorResponse,HttpHeaders }from '@angular/common/http' @Injectable({ providedIn: 'root', }) export class PersonaService { headers=new HttpHeaders(); selectedPersona: Persona; personas:Persona[]; readonly URL_API='http://localhost:3000/Inicio/Persona'; constructor(private http: HttpClient) { this.selectedPersona=new Persona(); } postPersona(persona:Persona){ return this.http.post(this.URL_API,persona) }
请求来自http://209.145.52.133:8080这是我的前台
在我的后端,我设置了允许的地址:
app.use(cors({origin:'http://209.145.52.133:8080'}));
最后它返回错误:
从来源'http://209.145.52.133:8080'访问'http://localhost:3000/Inicio/Login'的XMLHttpRequest已被CORS策略阻止:对预检请求的响应未通过访问控制检查: 'Access-Control-Allow-Origin' header 的值 'http://209.145.52.133/' 不等于提供的来源。
这可能对你有帮助
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', req.headers.origin);
res.header(
'Access-Control-Allow-Headers',
'Origin, X-Requested-With, Content-Type, Accept, Authorization',
);
res.header(
'Access-Control-Allow-Methods',
'GET,POST,fetch, PATCH,OPTIONS,DELETE',
);
res.header('Access-Control-Allow-Credentials', true);
if (req.method === 'OPTIONS') {
res.header(
'Access-Control-Allow-Methods',
'PUT, POST, PATCH,FETCH, DELETE, GET',
);
return res.json({});
} else {
next();
}
});
如果没有,您可以从 express cors文档中尝试这个
var corsOptions = {
origin: 'http://example.com',
optionsSuccessStatus: 200 // some legacy browsers (IE11, various SmartTVs) choke on 204
}
app.get('/products/:id', cors(corsOptions), function (req, res, next) {
res.json({msg: 'This is CORS-enabled for only example.com.'})
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.