Bueas a tod@s, hasta hace poco utilizaba la función mail() de php para enviar correos, y todo funcionaba bien.
Mi código era
Código PHP:
$correo = $_GET['correo'];
$destinatario = $correo;
$asunto = $_SESSION['usuario'].' Desde MiWeb.es';
$cuerpo ='Aquí iba el html del cuerpo del mensaje';
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "From: MiWeb.es <[email protected]>\r\n";
if (mail("$destinatario", "$asunto", "$cuerpo", "$headers")){
echo 'Aquí iba el código si todo era correcto';
}
else{
echo 'Aquí iba el código si algo fallaba';
}
Todo funcionaba perfectamente, pero desde hace unas semanas, el hosting donde tengo alojada la página web ha dejado de permitir la función mail de php y ahora hay que usar smtp.
Tengo el siguiente código:
Código PHP:
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
El correo se envía y llega al destinatario, pero el problema es que en lugar de aparecer el cuerpo del mensaje, se ve el código html; es decir, lo que ve el usuario cuando abre el correo es:
<html>
<head>
<title>...
No sé donde puede estar el problema, agradecería cualquier ayuda que puedan darme, muchas gracias de antemano