Função MAIL() não envia e-mails

  • Autor Autor Koletta
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
Koletta

Koletta

Dseda
Verificación en dos pasos activada
Usuário com poucas negociações! Use sempre o saldo do 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.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar

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.
 

Tópicos similares

C
Respostas
2
Visitas
6K
Consultores Marbella
C
C
Respostas
1
Visitas
952
Daniel B.
Daniel B.
Voltar
Topo