Foros del Web » Programando para Internet » PHP »

Enviar email de registro usuario

Estas en el tema de Enviar email de registro usuario en el foro de PHP en Foros del Web. Hola a todos! Tengo un codigo php para registros de usuarios, anda todo bien Pero me gustaria que cuando se envia el email llegue al ...
  #1 (permalink)  
Antiguo 25/02/2011, 13:20
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años
Puntos: 3
Enviar email de registro usuario

Hola a todos!
Tengo un codigo php para registros de usuarios, anda todo bien
Pero me gustaria que cuando se envia el email llegue al inbox y no como spam.
Como puedo hacer para que tambien se vea la imagen de un logo.
Este es mi codigo de registro:
Código PHP:
<?php

include 'include/php/conexion.php';
include 
'header.php';
$link=@dbConnect();
if (!
$link) {
    echo 
"Error conectando a la Base de Datos."
}

if (
$link =="202") {
    echo 
"Error seleccionando la Base de Datos.";
}
?>
<div id="main">
  <div class="content">
<?php
$from 
"[email protected]";
if (isset (
$_POST['username'])){
     
     
$username preg_replace('#[^A-Za-z0-9]#i'''$_POST['username']); // filtros para letras y numeros
     
$email1 $_POST['email1'];
     
$email2 $_POST['email2'];
     
$pass1 $_POST['pass1'];
     
$pass2 $_POST['pass2'];
     
     

     
$email1 stripslashes($email1); 
     
$pass1 stripslashes($pass1); 
     
$email2 stripslashes($email2);
     
$pass2 stripslashes($pass2); 
     
     
$email1 strip_tags($email1);
     
$pass1 strip_tags($pass1);
     
$email2 strip_tags($email2);
     
$pass2 strip_tags($pass2);

     
$emailCHecker mysql_real_escape_string($email1);
     
$emailCHecker str_replace("`"""$emailCHecker);
     
$sql_uname_check mysql_query("SELECT username FROM users WHERE username='$username'"); 
     
$uname_check mysql_num_rows($sql_uname_check);
     
$sql_email_check mysql_query("SELECT email FROM users WHERE email='$emailCHecker'");
     
$email_check mysql_num_rows($sql_email_check);

    
     if ((!
$username) || (!$email1) || (!$email2) || (!$pass1) || (!$pass2)) { 

     
$errorMsg 'Complete los siguientes campos requeridos:<br /><br />';
  
     if(!
$username){ 
       
$errorMsg .= ' * Nombre de usuario<br />';
     } 
     if(!
$email1){ 
       
$errorMsg .= ' * Email<br />';      
     }
     if(!
$email2){ 
       
$errorMsg .= ' * Confirmar email<br />';        
     }     
     if(!
$pass1){ 
       
$errorMsg .= ' * Contrase&ntilde;a<br />';      
     }
     if(!
$pass2){ 
       
$errorMsg .= ' * Confirmar contrase&ntilde;a<br />';        
     }     
    
     } else if (
$email1 != $email2) {
              
$errorMsg 'ERROR: Los correos electr&oacute;nicos no coinciden<br />';
     } else if (
$pass1 != $pass2) {
              
$errorMsg 'ERROR: Las contrase&ntilde;as no coinciden<br />';
     } else if (
strlen($username) < 4) {
               
$errorMsg "<u>ERROR:</u><br />Tu nombre de usuario es corto. 4 - 10 car&aacute;cteres.<br />"
     } else if (
strlen($username) > 10) {
               
$errorMsg "<u>ERROR:</u><br />Tu nombre de usuario es muy largo. 4 - 10 car&aacute;cteres.<br />"
     } else if (
$email_check 0){ 
              
$errorMsg "<u>ERROR:</u><br />El email ingresado ya existe,int&eacute;nte con otro.<br />"
     } else { 
     
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    
     
$email1 mysql_real_escape_string($email1);
     
$pass1 mysql_real_escape_string($pass1);
     
     
     
$db_password md5($pass1); //encriptar contraseña
     
    
    
     // obtengo el IP
     
$ipaddress getenv('REMOTE_ADDR');


     
     
$sql mysql_query("INSERT INTO users (username,  email, password, ipaddress, join_date) 
     VALUES('$username','$email1','$db_password', '$ipaddress', now())"
)  
     or die (
mysql_error());
 
     
$userid mysql_insert_id();
     
     
// Carpeta de usuario.        
     
mkdir("../users/$userid"0755);    
     
copy("pic1.png","../users/$userid/pic1.jpg"); // foto perfil usuario por defecto

    //!!!!!!!!!!!!!!!!!!!!!!!!!    Activacion usuario    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   
$to "$email1";
                                         
    
$subject 'Registro en web.com';
    /
    
$message "Hola $username,

   Completa este paso para poder finalizar tu registro.
   Por favor haz click en el link para activar tu cuenta.

   http://web.com/activation/?userid=$userid&sequence=$db_password
   
   Tus datos para ingresar:  
   Nombre de usuario: $username
   Tu email: $email1 
   Contraseña: $pass1

   Saludos!"
;
   
//end of message
    
$headers  "From: $from\r\n";
    
$headers .= "Content-type: text\r\n";

    
mail($to$subject$message$headers);
   
   
header("Location:success.php");
   
   
   exit();

   } 
// 

} else { // 
      
      
$errorMsg "";
      
$username "";
      
$email1 "";
      
$email2 "";
      
$pass1 "";
      
$pass2 "";
}
?>

<div id="register_box" class="login_form"> 
         
<form action="" method="post" id="registerForm">
<div class="label">
      <h2><img src="include/images/user.png" border="0" />Cre&aacute; tu cuenta en web.com!</h2><hr />
 </div>

<div class="notification notification-error">
<a href="javascript:;" class="close" title="Cerrar">cerrar</a><ul><li><?php echo "$errorMsg"?></li></ul></div>    

    <div class="label"> 
        <label for="user_login">Usuario </label> 
      </div> 
      <div class="field"> 
        <input class="input_join" name="username" type="text" id="username" value="<?php print "$username"?>" size="32" maxlength="10" />
              <span id="nameresponse"><span class="textSize_9px"><span class="greyColor">Caracteres alfan&uacute;mericos.</span></span></span> 
      </div> 
    
      <div class="label"> 
        <label for="user_email">Correo electr&oacute;nico </label> 
      </div> 
      <div class="field"> 
        <input class="input_join" name="email1" type="text" id="email1" value="<?php print "$email1"?>" size="32" maxlength="48" /> 
      </div> 
    
     <div class="label"> 
        <label for="user_email">Confirme email </label> 
      </div> 
      <div class="field"> 
        <input class="input_join" name="email2" type="text" id="email2" value="<?php print "$email2"?>" size="32" maxlength="48" /> 
      </div> 
    
      <div class="label"> 
        <label for="user_password">Contrase&ntilde;a </label> 
      </div> 
      <div class="field"> 
        <input class="input_join" name="pass1" type="password" id="pass1" size="32" maxlength="16" /><span class="textSize_9px"><span class="greyColor">Caracteres alfan&uacute;mericos.</span></span> 
      </div> 
    
      <div class="label"> 
        <label for="user_password_confirmation">Confirme contrase&ntilde;a </label> 
      </div> 
      <div class="field"> 
        <input class="input_join" name="pass2" type="password" id="pass2" size="32" maxlength="16" /><span class="textSize_9px"><span class="greyColor">Caracteres alfan&uacute;mericos.</span></span> 
      </div> 
      <input id="btn_join_storenvy" src="include/images/buttons/signup.png" type="image" onclick="return loadSubmit()"  /><p style="visibility:hidden;" id="progress"/><img id="progress_image" src="ajax_loading.gif"/></p>
    
</form><br />

  
</div>
</div>
<?php
include('include/php/footer.php');
?>
Quien pueda ayudarme se los agradezco mucho.
Me gustaria que el email llegue al inbox y no como spam y como puedo hacer para que se vea el logo de mi pagina en el email.
Saludos !
  #2 (permalink)  
Antiguo 25/02/2011, 13:26
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Enviar email de registro usuario

Para el logo, tenés que enviar el mail con cabeceras html. Metés un div con fondo css ( el css debe estar in-line ) y el path de la imagen con el path absolute ( ej: http://miweb.com/images/img.jpg ).

Para que no llegue al spam, tendrías que usar un mail con dominio propio en una cuenta smpt. A veces también es recomendable que generes un mail único de envio, por ejemplo usando el id de usuario al que registraste.
  #3 (permalink)  
Antiguo 25/02/2011, 13:47
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años
Puntos: 3
Respuesta: Enviar email de registro usuario

Walterdevel gracias por tu respuesta!
Asi es como decis en el email:

Código PHP:
<style>
.
email-image{
backgroundurl(image-email.png);
display:inline;
}
</
style>
<
div class="email-image">
</
div
  #4 (permalink)  
Antiguo 25/02/2011, 13:57
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Enviar email de registro usuario

Cita:
Iniciado por ale_dla Ver Mensaje
Walterdevel gracias por tu respuesta!
Asi es como decis en el email:

Código PHP:
<style>
.
email-image{
backgroundurl(image-email.png);
display:inline;
}
</
style>
<
div class="email-image">
</
div
Exacto

Etiquetas: email, enviar, registro, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:43.