2011-11-23 20 views
13

Cuando envío un mail con el PHP destinatary para crear una cabecera como ésta:¿Cómo eliminar "vía" y el nombre del servidor al enviar correos con PHP?

[email protected] **via** de p3nlhg147.shr.prod.phx3.secureserver.net 

Quiero eliminar la "vía" parte. La mayoría de los correos automatizados de los sitios web no tienen la "vía", por lo que es posible eliminarlos.

¿Cómo lo hacen?

+1

no puede, son los servidores de correo no php. –

+0

Sí, puedes. Por favor, eche un vistazo debajo de la respuesta. – richard

Respuesta

19

Sí, puede deshacerse de la parte "vía". He aquí los detalles:

1) SPF and DKIM 

En primer lugar, lo que se necesita para establecer un registro SPF para el dominio que está enviando mensajes de correo electrónico desde y permitir así DKIM. Estos son principalmente para identificar sus mensajes contra el correo no deseado.

2) "From: [email protected]" 

En segundo lugar, asegúrese de que está configurando el campo “De:” encabezado a ser una dirección de correo electrónico en el dominio que está enviando mensajes. No pretendas ser otra persona. Utilice "De: [email protected]" si está enviando los mensajes de abc.com, en lugar de cualquier otra cosa, como [email protected], o [email protected], o lo que sea. Si desea que el destinatario responda su correo electrónico de Gmail en lugar de su correo electrónico de dominio, use el encabezado "Responder a". "De:" debe ser siempre el correo electrónico de dominio desde el que envía el correo electrónico.

3) "Return-Path: [email protected]" 

En tercer lugar y lo más importante, establecer el “Return-Path:” encabezado ser el mismo dominio que el de la “de:” encabezado. Utilice el quinto parámetro de la función mail() para esto:

mail('[email protected]', 'Subject', "Message Body", $headers, '[email protected]') 

Así que la ruta de retorno este mensaje sería “[email protected]” (la dirección de correo electrónico inmediatamente después del modificador f). El parámetro $ headers debe contener todos los encabezados de mensaje necesarios. Asegúrese de que "De:" sea [email protected]

Después de estos pasos y medidas, Gmail debería confiar completamente en sus mensajes de tudominio.com. El campo 'vía' de sus mensajes debería desaparecer y el campo 'enviado por correo' y el campo 'firmado por' deberían mostrarse correctamente como sudominio.com.

Espero que ayude!

+0

¿Funcionaría esto si el servidor de correo es diferente al servidor del sitio? –

+0

Gracias, funciona como el encanto ... Usé solo dos pasos, segundo y tercero ... Gracias richard ... –

1

Esto probablemente ha sido agregado por su MTA y no ha especificado qué MTA está utilizando.

Recomiendo enviar los correos no a través de la función mail() de PHP sino a través de SMTP, posiblemente incluso con SMTP-Auth, usando algo como PHPMailer.

7

También encontré el mismo problema. Sin embargo, yo he vencido al problema mediante el siguiente código:

mail('[email protected]', 'the subject', 'the message', null,'[email protected]'); 

Asegúrese de que el último parámetro es -f con la dirección de correo electrónico.

Puedes añadir el

$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";<br /> 
mail('[email protected]', 'the subject', 'the message body in html format', $headers,'[email protected]'); 

para el cuerpo del mensaje de correo electrónico en HTML.

1

Véase lo que dice Google sobre esto aquí: http://support.google.com/mail/bin/answer.py?hl=en&ctx=mail&answer=1311182

Todo lo mejor!

+2

En lugar de solo proporcionar un enlace, debe intentar explicar el contenido de esta pregunta. – Layke

+0

¡Bienvenido a Stack Overflow! Si bien esto podría responder teóricamente a la pregunta, [sería preferible] (http://meta.stackexchange.com/q/8259) incluir aquí las partes esenciales de la respuesta y proporcionar el enlace de referencia. – Adi

Cuestiones relacionadas