remove problema con el encabezado de php 'De'




cannot modify header information-headers already sent by solucion (7)

los encabezados no funcionaban para mí en mi alojamiento compartido, razón por la cual estaba usando mi dirección de correo electrónico de hotmail en el encabezado. Creé un correo electrónico en mi cpanel y establecí ese mismo correo electrónico en el encabezado, sí, funcionó como un amuleto.

 $header = 'From: ShopFive <[email protected]>' . "\r\n";

Estoy construyendo un sitio web que envía y envía un correo electrónico a un usuario cuando se registra.

Mi código (la esencia de esto):

<?php
$to = "[email protected]";
$subject = "Test mail";
$message = "Hello! \nThis is a simple email message.";

$headers = "From: [email protected]";
$headers .= "\r\nReply-To: [email protected]";
$headers .= "\r\nX-Mailer: PHP/".phpversion();

mail($to,$subject,$message,$headers);

echo "Mail Sent.";
?> 

el problema es que cuando se entrega el correo, el encabezado de from permanece en [email protected] , mientras que la respuesta se cambia al valor especificado.

box123.bluehost.com es el nombre de host del servidor en el que se aloja el sitio web.

Entonces, ¿qué estoy haciendo mal? ¿Qué puedo hacer para que la dirección "De" coincida con la dirección de respuesta?

¿Es algo que estoy haciendo mal, o es el anfitrión de la web jugando sucio?


Answer #1

Editar: Acabo de señalar que está tratando de usar una dirección de gmail como valor desde. Esto no va a funcionar , y el ISP tiene razón al sobrescribirlo. Si desea redireccionar las respuestas a sus mensajes salientes, use reply-to .

Una solución para las direcciones válidas que funciona con muchos ISP:

intente agregar un quinto parámetro a su comando mail() :

mail($to,$subject,$message,$headers,"-f [email protected]");

Answer #2

El servidor web no está jugando realmente sucio. No es estrictamente de acuerdo con las reglas, pero en comparación con algunos de los increíbles inventos destinados a prevenir el correo no deseado, no es particularmente malo.

Si realmente desea enviar correo desde '@ gmail.com', ¿por qué no simplemente usar el servicio SMTP de Gmail? Si no puede reconfigurar el servidor donde se está ejecutando PHP, existen muchas herramientas de conteo de correo electrónico que le permiten especificar un relator SMTP personalizado que phpmailer viene a la mente.

DO.


Answer #3

Me doy cuenta de que este es un hilo viejo, pero tuve el mismo problema desde que me mudé a Bluehost ayer. Puede que no haya sido la respuesta seleccionada, pero apoyo la respuesta del artículo bluehost 206.

Creé un correo electrónico válido en el panel de control y lo usé como mi dirección De y funcionó.


Answer #4

Tuve el mismo problema. Revisé el sitio de php.net. Y encontró el formato correcto.
Este es mi código actualizado

$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From:  ' . $fromName . ' <' . $fromEmail .'>' . " \r\n" .
            'Reply-To: '.  $fromEmail . "\r\n" .
            'X-Mailer: PHP/' . phpversion();

El \ r \ n debe estar entre comillas dobles (") en sí, las comillas simples (') no funcionarán.


Answer #5

Para evitar el phishing, algunos servidores de correo evitan que se reescriba From.


Answer #6

Lo resolví agregando cuentas de correo electrónico en Cpanel y agregando ese mismo correo electrónico al encabezado desde un campo como este

$header = 'From: XXXXXXXX <[email protected]>' . "\r\n";




smtp