Foros del Web » Programando para Internet » PHP »

Envio email por php

Estas en el tema de Envio email por php en el foro de PHP en Foros del Web. Hola , no consigo enviarme un email con el simple codigo de php y siguiendo los ejemplos. Codigo PHP Código PHP:                  $headers  =  "From: " . ...
  #1 (permalink)  
Antiguo 06/08/2011, 15:58
 
Fecha de Ingreso: junio-2005
Mensajes: 27
Antigüedad: 19 años, 5 meses
Puntos: 0
Envio email por php

Hola , no consigo enviarme un email con el simple codigo de php y siguiendo los ejemplos.

Codigo PHP

Código PHP:
                 $headers "From: ".$_POST['email']."\r\n";
    
                    
//Composicion de formulario
                    
$cuerpo "Formulario enviado\n";
                    
$cuerpo .= "Nombre: " $_REQUEST['nombre'] . "\n";
                    
$cuerpo .= "Apellido: " $_REQUEST['apellido'] . "\n";
                    
$cuerpo .= "Email: " $_REQUEST['email'] . "\n";
                    
$cuerpo .= "Comentarios: " $_REQUEST['comentario'] . "\n";             
                    if (!
mail("[email protected]",$_REQUEST['asunto'],$cuerpo,$headers))
                        
$msj['Eenvio'] = "El email no ha podido ser enviado";
                    else
                        
$msj['Benvio'] = "Su mensaje ha sido envaido correctamente"
Codigo html

Código HTML:
 <form name="contacto" action="" method="post">

                <div id="formContact">
                    <p>Nombre:</p><input class="campoForm" type="text" name="nombre">
                    <p>Apellido:</p><input class="campoForm" type="text" name="apellido">

                    <p>Email:</p><input class="campoForm" type="text" name="email">                
                    <p>Asunto:</p><input class="campoForm" type="text" name="asunto">
                    <p>Comentario:</p><textarea class="campoFormBig" name="comentario"></textarea><br/>
                    <input class="boton" type="submit" value="enviar">
                    
                </div>
            </form> 
¿Cual puede ser el error? La pagina ya la tengo subida a un servidor, pero nada, no me llegan los emails.
Enlace de la pagina: http://jlmg.atwebpages.com/

Pos data: probando desde mi ordenador con Apache, en localhost, obtengo este warning:
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdocs\prueba\frame.php on line 34

Desde el servidor alojado nada (pero bueno, lo mismo es que estan desactivados)
Solo quiero saber si hay algun fallo en el codigo,o que? O solamente esque no tengo configurado bien php.ini. ¿Pero como lo hago para que funcione en tal caso en el servidor de alojamient?

LLevo un buen rato buscando y encuentro los mismos ejemplos basicos, pero a mi no me funcionan :S

De antemano muchas gracias por sus respuestas.
  #2 (permalink)  
Antiguo 06/08/2011, 16:42
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Envio email por php

algunos servidores gratuitos bloquean los SMTP
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 06/08/2011, 19:04
 
Fecha de Ingreso: mayo-2010
Mensajes: 128
Antigüedad: 14 años, 5 meses
Puntos: 13
Respuesta: Envio email por php

Tienes que instalar un servidor smtp. Y sino prueba a bajarte esto y ejecutarlo desde tu localhost:

http://minirelay.uptodown.com/
  #4 (permalink)  
Antiguo 07/08/2011, 07:45
 
Fecha de Ingreso: junio-2005
Mensajes: 27
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Envio email por php

Es cierto, para cuentas grautidas tiene desactivado el servidor SMTP. He probado la alternativa de hacerlo con GMail, pero nada, no lo consigo.

Uso codigo de ejemplo, que parece que todo va bien

Código PHP:
    require_once('class.phpmailer.php');
    
define('GUSER''[email protected]'); // Gmail username
    
define('GPWD''micontraseña'); // Gmail password
    
    
function smtpmailer($to$from$from_name$subject$body) { 
        global 
$error;
        
$mail = new PHPMailer();  // create a new object
        
$mail->IsSMTP(); // enable SMTP
        
$mail->SMTPDebug 1;  // debugging: 1 = errors and messages, 2 = messages only
        
$mail->SMTPAuth true;  // authentication enabled
        
$mail->SMTPSecure 'ssl'// secure transfer enabled REQUIRED for Gmail
        
$mail->Host 'smtp.gmail.com';
        
$mail->Port 465
        
        
$mail->Username GUSER;  
        
$mail->Password GPWD;           
        
$mail->SetFrom($from$from_name);
        
$mail->Subject $subject;
        
$mail->Body $body;
        
$mail->AddAddress($to);
        if(!
$mail->Send()) {
            
$error 'Mail error: '.$mail->ErrorInfo
            return 
false;
        } else {
            
$error 'Message sent!';
            return 
true;
        }
    } 
Tampoco funciona, esque tambien necestio que le hosting tenga activado el SMTP o algo? canal SSL?

Obtengo el siguiente error:

Cita:
SMTP -> ERROR: Failed to connect to server: ()
SMTP Error: Could not connect to SMTP host. Mail error: SMTP Error: Could not connect to SMTP host.
:s
  #5 (permalink)  
Antiguo 07/08/2011, 09:51
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Envio email por php

no solo desactivan el SMTP, sino diversos puertos, así que solo tienes una alternativa: hosting de pago, o hacer el tuyo propio, sorry.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: email, envio, html, formulario
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 22:21.