Función MAIL() no envía correos

  • Autor Autor Koletta
  • Fecha de inicio Fecha de inicio
Koletta

Koletta

Dseda
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
A ver si alguien puede ayudarme. La función email me vuelve loco. No entiendo como puede ser tan sensible. Desde una web que estoy creando envío varios emails (alta usuario, alta empresas, promociones, etc...). Tanto el alta de empresas como el de usuarios funciona perfectamente y para crear el de "cambio de contraseña" copie y pegué el código de uno de los anterior y modifiqué el texto. Pues bien, me ocurre que quitando texto plano deja de funcionar. Llevo horas dándole vueltas y nada. Os dejo el código por si veis algo mal. Muchas gracias.

PHP:
	$remite = 'gestiondeusuarios@midominio.com';
	$asunto = 'Nueva clave de Usuario';
	$cuerpo = '
			<table width="800" border="0" align="center" style="padding:2px;font-size:18px;text-align:justify;border-radius:7px;-moz-box-shadow: 0 0 3px 3px #888;-webkit-box-shadow: 0 0 3px 3px#888;box-shadow: 0 0 2px 2px #888;"> 
				<tr><td>
					<p align="center"><img src="http://midominio.coms/img/logo2.png" width="450" height="75"></p>
					
		 			Estimad@ usuari@:<br>
					Este mensaje de correo electrónico responde a su solicitud de nueva contraseña para su cuenta en Midominio.<br>
					<span style="padding-left:50px;"><b>Usuario:</b> '.$correo.'</span><br>
					<span style="padding-left:50px"><b>Contraseña:</b> '.$password.'</span><br><br>
					Si lo desea, puede modificarla dentro en la <a href="www.midominio.com/usuarios/">Sección de Usuarios</a> en el apartado de configuración.<br>
					
					Atentamente,<br>
					<span style="padding-left:25px;">El equipo de midominio</span>

				</td></tr>
			</table>';
	
	$headers = "MIME-Version: 1.0\r\n";
	$headers .= "Content-type: text/html; charset=UTF-8\r\n";
	$headers .= "From: ".$remite."\r\n";
	
	if(mail($correo,$asunto,$cuerpo,$headers))
	{
		echo 'OK';			
	}else{
		echo 'ERROR';			
	}

Puse la condición final para ver si funcionaba o no. Siempre da OK pero no siempre envía el correo.:topsy_turvy:

Muchas gracias.
 

Si tenes WHM entras y en la seccion email, tenes el listado de emails que no han salido del server y la razon de porque no salieron... sino tenes pues podrias usar la clase phpmailer.
 
Primero y antes que nada, lo tienes bien configurado? (si es un vps/dedicado con OS limpio tienes que haberlo configurado previamente).

Revisa con <?php phpinfo(); ?> (sendmail_path)
 
Usa alguna clase que utilice el protocolo SMTP, más fiable que la función mail de php.
 
Phpmailer es buena 🙂

Sent from my Nexus 4 using Tapatalk
 
Segun entiendo, la funcion mail te sirve para enviar otros datos, el codigo esta bien, tal vez el error no este en esta parte del codigo, habilita la opcion de mostrar errores en el php.ini o revisa el archivo de log en tu servidor para ver con certeza el error.

Saludos
 
Muchas gracias a todos. Perdonad la espera, he estado de viajes.

Paso a utilizar la función Phpmailer y os comento el resultado.
 

Temas similares

C
Respuestas
1
Visitas
952
Daniel B.
Daniel B.
Atrás
Arriba