Hola a todos y gracias de antemano.
Tengo un problema que llevo dos dias detras de el y no doy con el fallo.
Esto intentado utilizar phpmailer para mi web y he mirado codigos de algunas web de como lo usan y parece sencillo, pero a mi no hace mas que darme fallos, ahora da un warning y la llamada a send() devuelve false.
Warning: Creating default object from empty value in /home/********/public_html/PHP/formulario.php on line 48-
Tengo dos cuentas gmail:
1.Una para enviar los mail:
user->a@gmail.com
pass->1234
2.Recibir los mail:
user->b@gmail.com
ADJUNTO CODIGO:
<?php
require 'PHPMailer-master/PHPMailerAutoload.php';
function getRealIP()
{
if (isset($_SERVER["HTTP_CLIENT_IP"]))
{
return $_SERVER["HTTP_CLIENT_IP"];
}
elseif (isset($_SERVER["HTTP_X_FORWARDED_FOR"]))
{
return $_SERVER["HTTP_X_FORWARDED_FOR"];
}
elseif (isset($_SERVER["HTTP_X_FORWARDED"]))
{
return $_SERVER["HTTP_X_FORWARDED"];
}
elseif (isset($_SERVER["HTTP_FORWARDED_FOR"]))
{
return $_SERVER["HTTP_FORWARDED_FOR"];
}
elseif (isset($_SERVER["HTTP_FORWARDED"]))
{
return $_SERVER["HTTP_FORWARDED"];
}
else
{
return $_SERVER["REMOTE_ADDR"];
}
}
$datos = '<!DOCTYPE html>';
$datos .= '<html>';
$datos .= '<head>';
$datos .= '<title>Visitante ' . getRealIP() .'<//title>;
$datos .= '<//head>';
$datos .= '<body>';
$datos .= '<h1>Visitante '. getRealIP() . '<//h1>';
$datos .= '<h2>NOMBRE : ' . $_POST['name'] . '<//h2>';
$datos .= '<h2>E-MAIL : ' . $_POST['mail'] . '<//h2>';
$datos .= '<h2>MENSAJE : ' . $_POST['mensaje'] . '<//h2>';
$datos .= '<//body>';
$datos .= '<//html>';
$mail = new PHPMailer();
//indico a la clase que use SMTP
$mail->IsSMTP();
//permite modo debug para ver mensajes de las cosas que van ocurriendo
$mail->SMTPDebug = 1;
//Debo de hacer autenticación SMTP
$mail->SMTPAuth = True;
$mail->SMTPSecure = "ssl";
//indico el servidor de Gmail para SMTP
$mail->Host = "smtp.gmail.com";
//indico el puerto que usa Gmail
$mail->Port = 465;
//indico un usuario / clave de un usuario de gmail
$mail->Username = "a@gmail.com";
$mail->Password = "1234";
$mail->setFrom("a@gmail.com");
$mail->AddReplyTo("a@gmail.com");
$mail->Subject = "Envío de email usando SMTP de Gmail";
$mail->MsgHTML($datos);
//indico destinatario
$address = "b@gmail.com";
$mail->AddAddress($address, "Usuario");
if(!$mail->Send()) {
echo "Error al enviar: " . $mail->ErrorInfo;
} else {
echo "Mensaje enviado!";
}
?>
Gracias a todos por vuestra atencion y agradeceria mucho la ayuda puesto que este tema me trae loco, no se que puede fallar pero no consigo enviar el mail.