Bueno. He conseguido enviar mensajes ya con PHPMail. Sin embargo, no ha podido ser mediante servidor SMTP porque cuando ejecutaba la aplicacion web, me saltaba un error en class.phpmailer.php en la linea 1438. Al parecer no encontraba el constructor de la clase SMTP asi que decidi hacerlo sin servidor SMTP y todo perfecto.
Aqui va el codigo por si alguien lo necesita:
Código PHP:
<?php
include 'data.php';
require_once 'PHPMailer-master/class.phpmailer.php';
$i = 0;
$array;
foreach($_POST['eleccion'] as $indice => $valor ) {
$array[$i] = array($valor, $indice);
$i++;
}
for($j = 0; $j < $i; $j++){
$array[$j][1] = $sheet[$array[$j][1]];
}
for($j = 0; $j < $i; $j++){
$aux[$j] = $array[$j][0]." ==> ".$array[$j][1];
}
$name = $_POST["nombre"];
$email = $_POST["email"];
$subj = $_POST["asunto"];
$lang = $_POST["idioma"];
$correo = new PHPMailer(); //Creamos una instancia en lugar usar mail()
//Usamos el SetFrom para decirle al script quien envia el correo
$correo->SetFrom("[email protected]", "*******");
//Usamos el AddAddress para agregar un destinatario
$correo->AddAddress($email, $name);
//Ponemos el asunto del mensaje
$correo->Subject = $subj;
/*
* Si deseamos enviar un correo con formato HTML utilizaremos MsgHTML:
* $correo->MsgHTML("<strong>Mi Mensaje en HTML</strong>");
* Si deseamos enviarlo en texto plano, haremos lo siguiente:
* $correo->IsHTML(false);
* $correo->Body = "Mi mensaje en Texto Plano";
*/
$correo->MsgHTML($mensaje);
//Enviamos el correo
if(!$correo->Send()) {
echo "Hubo un error: " . $correo->ErrorInfo;
} else {
echo "Mensaje enviado con exito.";
}
if($lang == 0 or $name == "" or $email == "" or $subj == ""){
echo "Te falto poner algunos datos. Vuelve atras";
}else{
if($lang == 1){
$mensaje = "Muy buenas, $name. Soy ****** y aqui te envio las claves de los siguientes archivos:<p><br>";
$mensaje = $mensaje."<ul>";
for($j = 0; $j < $i; $j++){
$mensaje = $mensaje ."<li>$aux[$j]";
$mensaje = $mensaje."<p>";
}
$mensaje = $mensaje."</ul>";
$mensaje = $mensaje."<p>";
$mensaje = $mensaje."Espero que lo disfrutes y no olvides suscribirte :). Que tengas un buen dia<p><br><br>";
$mensaje = $mensaje."<i>Por favor, no responda a este mensaje. Para contactar conmigo, hagalo mediante Youtube o esta direccion: ********* </i>";
$correo->MsgHTML($mensaje);
if(!$correo->Send()) {
echo "Hubo un error: " . $correo->ErrorInfo;
} else {
echo "Mensaje enviado con exito.";
}
header("Location:userAuth.php?usr=yes&mail=yes");
}else{
if($lang == 2){
$mensaje = "Hi!, $name. I'm ******* and here you have the keys for this files:<p><br>";
$mensaje = $mensaje."<ul>";
for($j = 0; $j < $i; $j++){
$mensaje = $mensaje ."<li>$aux[$j]";
$mensaje = $mensaje."<p>";
}
$mensaje = $mensaje."</ul>";
$mensaje = $mensaje."<p>";
$mensaje = $mensaje."I hope you enjoy that and do not forget to suscribe my channel :). Have a nice day<p><br><br>";
$mensaje = $mensaje."<i>Please, do not reply this message. For any question, contact with me via Youtube or this adress: *********</i>";
$correo->MsgHTML($mensaje);
if(!$correo->Send()) {
echo "Hubo un error: " . $correo->ErrorInfo;
} else {
echo "Mensaje enviado con exito.";
}
header("Location:userAuth.php?usr=yes&mail=yes");
}
}
}
?>
EDITO: if(!$correo->Send()){.....} Se puede sustituir perfectamente por solo $correo->Send(). En mi caso, ese if no tiene sentido porque no muestra nada.