Я создал простую службу .NET Core для отправки почты из клиента Angular. В среде разработки, когда клиент и сервер работают на разных портах локального хоста, все работает нормально, но когда служба публикуется на хостинге, клиент получает ошибку:
" has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource."
Я реализовал временно открытую политику для целей тестирования.
В Startup.cs добавлено:
services.AddCors(o => o.AddPolicy("OpenPolicy", builder => {
builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader();}));
а также
app.UseCors("OpenPolicy");
В контроллере:
[EnableCors("OpenPolicy")]
[Route("api/[controller]")]
[ApiController]
public class MailController : ControllerBase
{
[EnableCors("OpenPolicy")]
[HttpPost]
public MailResult SendMessage([FromBody]Mail mail)
{
...
Я что-то упустил? Может это конфигурация хостинга?





Это довольно расплывчатая проблема, возможно, вам также нужно разрешить учетные данные:
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials();
Для меня это звучит как проблема с ретранслятором, вы проверили свой хостинг?