Hola saludos!!...
Este trabajo es para una exposicion de paginas web de la universidad, ne esta quedando bien pero tengo este inconveniente, tengo los siguientes condigos para que cuando coloquen el correo y la contraseña el usuario o visitante, invite a sus contactos a la pagina que estoy haciendo.
Archivo llamado: index.php
Código PHP:
<?php
// ESTE ARCHIVO ES PARA LOS EMAIL MASIVOS.. (INVITACIONES DE HOTMAIL WEB MASTER DAVID TORRES-.)
error_reporting(E_ALL);
//-header('Content-Type: text/html; charset=UTF-8');
require('includes/phpListGrab.class.php');
//-readfile('templates/header.html');
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$phplistgrab = new phpListGrab($_POST['passport'], $_POST['password']);
$ret = $phplistgrab->grab();
if (!$ret)
{
switch ($phplistgrab->result)
{
case ERR_AUTHENTICATION_FAILED:
echo '<p>Authentication failed.</p>';
break;
case ERR_SERVER_UNAVAILABLE:
echo '<p>Failed to connect to server.</p>';
break;
}
//-readfile('templates/footer.html');
exit();
}
$indent = str_repeat("\t", 3); // Esto es sólo para hacer el formato HTML, bastante, el nivel de estos elementos es de 3 pestañas en.
//-echo "$indent<h3>Contacts</h3>\n\n$indent<ul>\n";
foreach ($phplistgrab->lists[LIST_FORWARD] as $contact)
{
$destinatario = $contact['passport'];
$QuienManda = $_POST['passport'];
$cuerpo = '<p align="center"><a href="http://WWW.TUPAGINA.COM/"><img src="../images/promocion/promo.jpg" border="0"></a></p>';
$retp = "[email protected]";
$asunto = "visita a WWW.TUPAGINA.COM";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: Maracuchos <$QuienManda>\r\n";
$headers .= "Reply-To: $QuienManda\r\n";
$headers .= "Return-path: $retp\r\n";
mail($destinatario,$asunto,$cuerpo,$headers);
}
//-echo "$indent</ul>\n";
}
/*-else
{
readfile('templates/form.html');
}
readfile('templates/footer.html');
-*/
?>
Archivo llamado test.php
Código PHP:
<?php
$QuienManda = $_POST['passport'];
echo $QuienManda;
?>
Archivo llamado: phpListGrab.class
Código PHP:
<?php
require('MSNPAuth.class.php');
define('ERR_AUTHENTICATION_FAILED', 911);
define('ERR_SERVER_UNAVAILABLE', 600);
define('OK', 0);
define('LIST_ALLOW', 'AL');
define('LIST_BLOCK', 'BL');
define('LIST_FORWARD', 'FL');
define('LIST_REVERSE', 'RL');
class phpListGrab
{
var $_passport = '';
var $_password = '';
var $result = 0;
var $lists = array(
LIST_ALLOW => array(),
LIST_BLOCK => array(),
LIST_FORWARD => array(),
LIST_REVERSE => array(),
);
var $_contacts = array();
var $_socket = NULL;
var $_lst_count = 0;
function phpListGrab($passport, $password)
{
$this->_passport = $passport;
$this->_password = $password;
}
function grab($server = 'messenger.hotmail.com')
{
$this->_socket = @fsockopen($server, 1863);
if (!$this->_socket)
{
$this->result = ERR_SERVER_UNAVAILABLE;
return false;
}
$this->_send('VER 0 MSNP8');
while (!feof($this->_socket))
{
$data = fgets($this->_socket);
$data = substr($data, 0, -2);
$ret = $this->_parse($data);
if (!$ret)
{
return $ret;
}
}
// Sort the lists into alphabetical order
usort($this->lists[LIST_REVERSE], array($this, '_cmp'));
usort($this->lists[LIST_FORWARD], array($this, '_cmp'));
usort($this->lists[LIST_ALLOW], array($this, '_cmp'));
usort($this->lists[LIST_BLOCK], array($this, '_cmp'));
return true;
}
function _send($data)
{
fputs($this->_socket, "$data\r\n");
}
function _parse($data)
{
$params = explode(' ', $data);
switch ($params[0])
{
case 'VER':
$this->_send('CVR 1 0x0409 winnt 5.1 i386 MSNMSGR 6.0.0254 MSMSGS '.$this->_passport);
break;
case 'CVR':
$this->_send('USR 2 TWN I '.$this->_passport);
break;
case 'XFR':
$subparams = explode(':', $params[3]);
return $this->grab($subparams[0]);
break;
case 'USR':
if ($params[2] == 'TWN')
{
$msnpauth = new MSNPAuth($this->_passport, $this->_password, $params[4]);
$hash = $msnpauth->getKey();
if (!$hash)
{
$this->result = ERR_AUTHENTICATION_FAILED;
$this->_send('OUT');
return false;
}
$this->_send('USR 3 TWN S '.$hash);
}
elseif ($params[2] == 'OK')
{
$this->_send('SYN 4 0');
}
break;
case 'SYN':
$this->_lst_count = $params[3];
break;
case 'LST':
$this->_lst_count--;
if (!isset($this->_contacts[$params[1]]))
{
$this->_contacts[$params[1]] = array(
'passport' => $params[1],
'friendlyname' => urldecode(utf8_decode($params[2])),
'lists' => $params[3],
'status' => 'FLN',
'clientid' => 0,
);
}
if (($params[3] & 2) > 0)
{
$this->lists[LIST_ALLOW][$params[1]] = &$this->_contacts[$params[1]];
}
if (($params[3] & 1) > 0)
{
$this->lists[LIST_FORWARD][$params[1]] = &$this->_contacts[$params[1]];
}
if (($params[3] & 4) > 0)
{
$this->lists[LIST_BLOCK][$params[1]] = &$this->_contacts[$params[1]];
}
if (($params[3] & 8) > 0)
{
$this->lists[LIST_REVERSE][$params[1]] = &$this->_contacts[$params[1]];
}
if ($this->_lst_count == 0)
{
$this->_send('OUT');
$this->result = OK;
}
break;
}
return true;
}
function _cmp($a, $b)
{
return strcasecmp($a['friendlyname'], $b['friendlyname']);
}
}
?>
Alli esta todo lo que desarrolle, ahora necesito que los usuarios cuando coloque el correo y la contraseña y invite a sus contactos, todo ellos se me almacenen en una lista de correos para enviales propuestas, noticias etc.. a la pagina web. espero que me ayuden y les sirva mi codigos a varios de ustedes esta fino.