Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/01/2011, 17:00
Eduardo-Dx
 
Fecha de Ingreso: agosto-2008
Mensajes: 41
Antigüedad: 15 años, 8 meses
Puntos: 1
Ayuda con envio de correo

hola.

Pues tengo un problema y quisiera ver si me pueden ayudar, se trata de un codigo que debe enviar un correo de activacion de usuario pero me manda error, ya intende de varias formas y no logro hacer que funcione.

Este es el codigo para que lo vean haber si tengo algun error en el:


<?php
//datos para establecer la conexion con la base de mysql.
$conexion=mysql_connect('localhost','usuario','con traseña')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('basededatos')or die ('Error al seleccionar la Base de Datos: '.mysql_error());


//añadimos la funcion que se encargara de generar un numero aleatorio
function genera_random($longitud){
$exp_reg="[^A-Z0-9]";
return substr(eregi_replace($exp_reg, "", md5(rand())) .
eregi_replace($exp_reg, "", md5(rand())) .
eregi_replace($exp_reg, "", md5(rand())),
0, $longitud);
}



// verificamos si se han enviado ya las variables necesarias, las que tenemos en nuestro form cambialo, como sea el tuyo.
if (isset($_POST["usuario"])) {
$nombre=$_POST["nombre"];
$apellidop=$_POST["apellidop"];
$apellidom=$_POST["apellidom"];
$usuario=$_POST["usuario"];
$contraseña=$_POST["pass"];
$ccontraseña=$_POST["cpass"];
$correo=$_POST["correo"];
$fecha=date("d/m/Y");;
// Hay campos en blanco
if($usuario==NULL|$contraseña==NULL|$ccontraseña== NULL|$correo==NULL) {
echo "un campo está vacio.";
formRegistro();
}else{
// ¿Coinciden las contraseñas?
if($contraseña!=$ccontraseña) {
echo "Las contraseñas no coinciden";

}else{
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían
$checkuser = mysql_query("SELECT usuario FROM registros WHERE usuario='$usuario'");
$username_exist = mysql_num_rows($checkuser);
$checkemail = mysql_query("SELECT email FROM registros WHERE correo='$correo'");
$email_exist = mysql_num_rows($checkemail);
$checkestado = mysql_query("SELECT estado FROM registros WHERE estado='$estado1'");
$estado_0 = mysql_num_rows($checkestado);
if ($email_exist>0) {
echo "La cuenta de correo estan ya en uso";

}else{
if ($username_exist>0) {
echo "El nombre de usuario esta ya en uso";



}else{

//agregamos la variable $activate que es un numero aleatorio de
//20 digitos crado con la funcion genera_random de mas arriba

$activate = genera_random(10);


//aqui es donde insertamos los nuevos valosres en la BD activate y el valor 1 que es desactivado

$query = "INSERT INTO registros (fecha,nombre,apellidop,apellidom,usuario,contrase ña,correo,telefono,empresa,direccion,activacion,es tado)
VALUES ('$fecha','$_REQUEST[nombre]','$_REQUEST[apellidop]','$_REQUEST[apellidom]','$_REQUEST[usuario]','$_REQUEST[pass]','$_REQUEST[correo]','$_REQUEST[telefono]','$_REQUEST[empresa]','$_REQUEST[direccion]','$activate',1)";

mysql_query($query) or die (mysql_error());


$query = "SELECT * FROM usuarios";
$result = mysql_query($query , $conexion) or die ( mysql_error() );
$row = mysql_fetch_array($result);

$path="http://www.pagina.com/"; //creamos nuestra direccion, con las carpetas que sean si hay



// Datos del email

$nombre_origen = "Nombre";
$email_origen = "aaaaa@aaaaa";
$email_copia = "aaaaaa@aaaa";
$email_ocultos = "aaaaaa@aaaa";
$email_destino = "".$row['correo']."";



$asunto = "".$row['usuario']." Datos de registro en Grupo Servicom, S.A de C.V, guarde este email.";

$mensaje = '<table width="629" border="0" cellspacing="1" cellpadding="2">
<tr>
<td width="623" align="left"></td>
</tr>
<tr>
<td bgcolor="#2EA354"><div style="color:#FFFFFF; font-size:14; font-family: Arial, Helvetica, sans-serif; text-transform: capitalize; font-weight: bold;"><strong> Estos son sus datos de registro, '.$row['usuario'].'</strong></div></td>
</tr>
<tr>
<td height="95" align="left" valign="top"><div style=" color:#000000; font-family:Arial, Helvetica, sans-serif; font-size:12px; margin-bottom:3px;"> USUARIO: '.$row['usuario'].'</strong><br><br><br>
<strong>SU CLAVE : </strong>'.$row['contraseña'].'</strong><br><br><br>
<strong>SU EMAIL : </strong>'.$row['correo'].'</strong><br><br><br>
<strong>SU LINK DE ACTIVACION:<br><a href="'.$path.'">'.$path.' </strong></a><br><br><br>
<strong>POR FAVOR HAGA CLICK EN LINK DE ARRIBA PARA ACTIVAR SU CUENRA Y ACCEDER A LA PAGINA SIN RESTRICCIONES</strong><br><br><br>
<strong>SI EL LINK NO FUNCIONA ALA PRIMERA INTENTELO UNA SEGUNDA, EL SERVIDOR A VECES TARDA EN PROCESAR LA PRIMERA ORDEN</strong><br><br><br>

<strong>GRACIAS POR REGISTRARSE EN CEVIT.</strong><br><br><br>
</div>
</td>
</tr>
</table>';



$formato = "html";

//************************************************** ***************//
$headers = "From: $nombre_origen <$email_origen> \r\n";
$headers .= "Return-Path: <$email_origen> \r\n";
$headers .= "Reply-To: $email_origen \r\n";


$headers .= "X-Sender: $email_origen \r\n";

$headers .= "X-Priority: 3 \r\n";
$headers .= "MIME-Version: 1.0 \r\n";
$headers .= "Content-Transfer-Encoding: 7bit \r\n";

//************************************************** ***************//

if($formato == "html")
{ $headers .= "Content-Type: text/html; charset=iso-8859-1 \r\n"; }
else
{ $headers .= "Content-Type: text/plain; charset=iso-8859-1 \r\n"; }

@mail($email_destino, $asunto, $mensaje, $headers))


}
}
}
}
}


?>