Menú Principal

PHPMailer

Iniciado por XKC, 19 Junio 2016, 03:03 AM

0 Miembros y 1 Visitante están viendo este tema.

XKC

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.
Para poder atacar y vencer con seguridad, ataca donde ellos no puedan defenderse.
Para defenderte y resistir firme, defiéndete en donde ellos no atacarán.