Wenas noches, llebo un rato comiendome el coco en intentar solucionar un problema que tengo al enviar un formulario a una cuenta de correo electronico. Uso el PHPMAILER, no me sale ningún error de compilación ni Warings ni nada de eso. Sólo que no se me envia el email a mi cuenta de correo electronico porque no se puede autentificar.
Aqui os pongo el código:
Código:
<?php
require("./includes/class.phpmailer.php");
$mail = new PHPMailer();
$nombre = $_POST['nom'];
$tema = $_POST['tema'];
$email = $_POST['email'];
$descrip = $_POST['descrip'];
//Definimos las propiedades y llamamos a los métodos
//correspondientes del objeto mail
//Con PluginDir le indicamos a la clase phpmailer donde se
//encuentra la clase smtp que como he comentado al principio de
//este ejemplo va a estar en el subdirectorio includes
$mail->PluginDir = "includes/";
//Con la propiedad Mailer le indicamos que vamos a usar un
//servidor smtp
$mail->Mailer = "smtp";
//Asignamos a Host el nombre de nuestro servidor smtp
$mail->Host = "smtp.gmail.com";
//Le indicamos que el servidor smtp requiere autenticación
$mail->SMTPAuth = true;
//Le decimos cual es nuestro nombre de usuario y password
$mail->Username = "[email protected]";
$mail->Password = "lapassword";
//Indicamos cual es nuestra dirección de correo y el nombre que
//queremos que vea el usuario que lee nuestro correo
$mail->From = "".$email."";
$mail->FromName = "".$nombre."";
//el valor por defecto 10 de Timeout es un poco escaso dado que voy a usar
//una cuenta gratuita, por tanto lo pongo a 30
$mail->Timeout=30;
//Indicamos cual es la dirección de destino del correo
$mail->AddAddress('[email protected]');
//Asignamos asunto y cuerpo del mensaje
//El cuerpo del mensaje lo ponemos en formato html, haciendo
//que se vea en negrita
$mail->Subject = "Prueba de phpmailer";
$mail->Body = "<b>Mensaje de prueba mandado con phpmailer en formato html</b>";
//Definimos AltBody por si el destinatario del correo no admite email con formato html
$mail->AltBody = "Mensaje de prueba mandado con phpmailer en formato solo texto";
//se envia el mensaje, si no ha habido problemas
//la variable $exito tendra el valor true
$exito = $mail->Send();
//NO PUEDE AUTENTIFICARSE.
if(!$exito)
{
echo "Problemas enviando correo electrónico";
}
else
{
echo "Mensaje enviado correctamente";
}
?>
Cuando lo ejecuto me sale el siguiente error...
SMTP Error: Could not authenticate. Problemas enviando correo electrónico.
$nombre = $_POST['nom'];
$tema = $_POST['tema'];
$email = $_POST['email'];
$descrip = $_POST['descrip'];
Estas variables las "rescato" de un formulario anterior, es decir que primero lleno el formulario y luego las envio a este formulario.
Espero que me puedan ayudar!
Muchisimas gracias de antemano ^^