Foros del Web » Programando para Internet » PHP »

Problema;Envio de correo mail() sin formato

Estas en el tema de Problema;Envio de correo mail() sin formato en el foro de PHP en Foros del Web. He creado una página donde envía un correo con formato html con ciertos datos a los emails que se registran. La gran mayoría lo recibe ...
  #1 (permalink)  
Antiguo 28/03/2011, 02:25
 
Fecha de Ingreso: abril-2003
Mensajes: 4
Antigüedad: 21 años, 6 meses
Puntos: 0
Problema;Envio de correo mail() sin formato

He creado una página donde envía un correo con formato html con ciertos datos a los emails que se registran. La gran mayoría lo recibe bien, pero he comprobado que algunos lo reciben en texto plano y con problemas de codificación. Es decir, el texto tiene formato html, y algunos lo reciben tal cual está escrito aqui.

¿Se os ocurre algo? ¿Estoy haciendo algo mal? ¿Es cosa de algún cliente de correo?

Código:
$asunto = "Acceso a la zona de jugadores";
		
		//para el envío en formato HTML
	$headers = "MIME-Version: 1.0\r\n";
	$headers .= "Content-type: text/html; charset=utf-8\r\n";
	
	//dirección del remitente
	$headers .= "From: Liga <[email protected]>\r\n";
	$texto="Ya podeis acceder a la Zona de jugadores de la Liga .<br><br>El usuario será vuestro correo y la contraseña la siguiente: <b>$pass1</b> . <br><br>Para acceder se ha habilitado una opción en la barra superior de dentro del menú Liga. Al entrar podeis cambiarla.<br>Dentro del módulo de jugadores podreis cambiar vuestro perfil, ver los datos del compañero y ver los datos de contacto de los contrincantes. Se añadirán más funcionalidades conforme avance la Liga. <br><br>Se recuerda también a los jugadores que este fin de semana comienza oficialmente el campeonato.<p>Suerte en el torneo y que gane el mejor.</p><div id='sig' style=' line-height: 20px; margin: 6px 0; padding: 8px; border-top: 1px #999999 dotted; border-bottom: 1px #999999 dotted; font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif; font-size: 11px; color: #339999; ' ><strong style='color: #339999;'>Organizaci&oacute;n | <a href='http://www.pagina.es' title='visita pagina.es' style='color: #339999; text-decoration: none; border-bottom: 1px #999999 dotted;'></a></strong><br /> contacto | <a href='mailto:[email protected]' style='color: #339999; text-decoration: none; border-bottom: 1px #999999 dotted;'>[email protected]</a>  | Tlfno: 965 28 77 15 - 658 221 746 <br/></div> <a href='http://www.pagina.es'><img border='0' src='http://www.pagina.es/imagenes/pagina.png' /></a>";
	
	mail($fila[0],$asunto,$texto,$headers);
  #2 (permalink)  
Antiguo 28/03/2011, 05:16
 
Fecha de Ingreso: mayo-2010
Mensajes: 84
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: Problema;Envio de correo mail() sin formato

Hola golLito, el problema es que al enviar el correo en formato html a todos, algunos no podran recibirlo correctamente ya no cuentan con soporte html.
Tiene que usar un boundary para dividir el correo, si no puede llegarle en html, que le llegue en texto plano.
Algo asi:

cabecera principal
MIME-Version: 1.0\n;
Content-Type: multipart/alternativa; boundary: "SEPARATOR"\n\n

cabecera primaria:
--SEPARATOR\n
Content-Type: text/html; charset=us-ascii\n
Content-Transfer-Encoding: 8bit\n\n

codigo html

cabecera opcional:
--SEPARATOR\n
Content-Type: text/plain; charset=us-ascii\n
Content-Transfer-Encoding: 8bit\n\n

texto plano

--SEPARATOR

Puedes ver un ejemplo acá: http://www.freesoft.org/CIE/RFC/1521/18.htm
salu2

Etiquetas: correo, formato, mail
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:52.