Comunidad de diseño web y desarrollo en internet online

problemas para enviar email via php

Citar            
MensajeEscrito el 28 Oct 2011 04:41 pm
hola
tengo el formulario de inscripcion el cual envia un email al usuario felicitandole por su inscripcion blah blah y enviando ademas un enlace para acticar su cuenta todo esto funcionaba bien pero ahora ya no envia este email.

el envio lo hago via mail() :

Código PHP :

/**********************************************************/
// envia un mail de confirmacion
/**********************************************************/
$var_emailres = "[email protected]";
    $var_responsable = "Ficha de Inscripción ";
                            
    $cuerpo = '
    <html>
    <head>
    <title>FICHA DE INSCRIPCI&Oacute;N</title>
    </head>
    <body>
    <h3><strong>FICHA DE INSCRIPCION</strong></h3><br>
                              <p><strong>Estimad@: '.$var_nombres.' '.$var_apellidop.' '.$var_apellidom.'</strong></p>
                              <p>Para considerar su postulaci&oacute;n al curso es necesario que confirme su dirección de correo electronico, presionando el siguiente link 
                              <a href="http://proyecto4.e-teleduc.cl/matricula_minrel/correo.php?t='.$token.'">CONFIRME AQUI</a></p>
                            <p>Su inscripci&oacute;n se har&aacute; efectiva una vez haya    sido aprobada por parte de la Coordinaci&oacute;n del<br />Blah Blah Blah</p>
                              <p><strong>Saludos cordiales</strong></p>
                            </body>
                            </html>
                            ';
                            //echo $mensaje;
                            
                            //para el envío en formato HTML
                            $headers = "MIME-Version: 1.0\r\n";
                            $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
                            $headers .= "X-Priority: 1\r\n"; 
                            $headers .= "X-MSMail-Priority: High\r\n";                             
                            $destinatarios = $var_email1."\r\n";
                            $asunto = "FICHA DE INSCRIPCIÓN";        
                            $headers .= "From: ".$var_responsable." <".$var_emailres.">\r\n";            
                            $headers .= "Reply-To: ".$var_responsable." <".$var_emailres.">\r\n";
                            
                                    
                            $res = mail($destinatarios,$asunto,$cuerpo,$headers);  





diganme porf si es seguro de esta forma o hay una mas segura.?
ah y tambien
algo sobre phpmailer.php y smtp.php
estare muy agradecido de antemano

Por angelo27

Claber

136 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Oct 2011 04:53 pm
¿Más segura para quién?, ¿para ti?, ¿para el servidor de hosting?, ¿para el destinatario?...

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 28 Oct 2011 05:28 pm
mas seguro para todos y como se usa phpmailer.php y smtp.php como ayuda en la seguridad tiene algo que ver?

Por angelo27

Claber

136 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Oct 2011 07:03 pm
Es que tu pregunta implica tres cosas distintas.

Si la seguridad es para ti entonces debes validar que los datos que te envía el visitante de su página sean correctos, tengan sentido, sean útiles. Por ejemplo en el código que has puesto en el OP ¿cómo sabes que la variable $var_email1 contiene una dirección de correo válida () me refiero a una cadena de caracteres que es una dirección de correo electrónico bien formada, no que la dirección exista)?.
Otro ejemplo: si en un formulario estás solicitando la edad ¿tu script es capaz de detectar que lo que ha ingresado el usuario sea un número y no una letra?, ¿qué pasa si el usuario ingresa una edad imposible (tal como -1 o 999999)?.
A eso se le llama validar las entradas. Y es seguridad para ti porque de otra forma te estarás llenando de datos basura.

Ahora bien, si hablamos de seguridad del hosting ¿qué haces para evitar que los visitantes no te suban un archivo potencialmente peligroso?, por ejemplo si tienes un formulario donde el visitante puede subir una image ¿es posible que además pueda subir un archivo PHP y luego ejecutarlo?. Esto no se limita a archivos. Los parámetros que pasas por GET suelen ser puntos de ataque a tu hosting ¿es posible ejecutar algo que no se debería?, ¿qué tal si un visitante intenta escalar en el arbol de directorios?.

Hablando de correo electrónico. La función mail() de PHP es inherentemente insegura porque no tiene ningún mecanismo de autenticación. Es decir, el servidor de correo interno de tu hosting no requiere que uses un usuario y contraseña para enviar un correo, entonces es posible que un visitante manipule tu formulario de contacto para que se envíen correos a destinatarios que tú no has planeado y entonces tu formulario de convierte en una pasarela para spamers.

Lo que los componentes especializados para enviar correo hacen es simplificar cosas como la autenticación por SMTP, tal como PHPMailer o SwiftMailer (además de facilitarte otras cosas como enviar adjuntos o correos que se puedan ver en texto plano y HTML o enviar a más de un destinatario y con copia oculta etc...) Si tienes una cuenta en un servidor SMTP con autenticación entonces debes, para poder enviar un correo usando PHPMailer o SwiftMailer, proporcionar esos datos en tus scripts.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.