Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

196
Visualizações
La política de CORS ha bloqueado la obtención de wp_mail

Estoy construyendo un sitio de wordpress sin cabeza con Nextjs. Estoy tratando de hacer una llamada api a mi wordpress CMS.

Al obtener datos de wordpress, no puedo pasar el cors. Realmente no pude encontrar una manera de agregar Access-Control-Allow-Origin a mi llamada api. He estado tratando de hacerlo así, pero todavía tengo el error CORS.

 $headers = array('Access-Control-Allow-Origin: *; Content-Type: application/json; Accept: application/json'); wp_mail('test@mail.com', 'subject', 'msg', $headers);
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Ninguno de los encabezados con los que está tratando son encabezados SMTP. No deberían acercarse a la función wp_mail .

Los encabezados de respuesta CORS ( Access-Control-Allow-* ) son encabezados de respuesta HTTP .

En general, con PHP, debe agregarlos a la respuesta HTTP con la función header() .

 header("Access-Control-Allow-Origin: *");

Como está utilizando WordPress (con el que no estoy muy familiarizado), mire esta respuesta , ya que parece envolverse alrededor de la API de encabezados normales.

Content-Type: application/json podría ser una solicitud HTTP o un encabezado de respuesta. No está claro por el contexto, ya que su fragmento de código no incluye nada para leer el cuerpo de la solicitud o generar el cuerpo de la respuesta.

Accept: application/json es un encabezado de solicitud HTTP y debe enviarse desde el navegador al servidor. No deberías configurarlo en PHP en absoluto.

about 4 years ago · Juan Pablo Isaza Relatório

0

Tuve el mismo problema hace unos meses.

Se solucionó agregando el siguiente código a functions.php

 // Allow from any origin if (isset($_SERVER['HTTP_ORIGIN'])) { header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}"); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Max-Age: 86400'); // cache for 1 day } // Access-Control headers are received during OPTIONS requests if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) // may also be using PUT, PATCH, HEAD etc header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); exit(0); }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda