Foros del Web » Programando para Internet » PHP »

Enviar correo por php

Estas en el tema de Enviar correo por php en el foro de PHP en Foros del Web. Hola a todos. necesito enviar un correo de un formulario en html, pero en php, que lo haga automatico sin necesidad de abrir el outlok, ...
  #1 (permalink)  
Antiguo 17/04/2012, 10:53
Avatar de cesarcaes  
Fecha de Ingreso: marzo-2010
Mensajes: 57
Antigüedad: 14 años, 1 mes
Puntos: 1
Enviar correo por php

Hola a todos. necesito enviar un correo de un formulario en html, pero en php, que lo haga automatico sin necesidad de abrir el outlok, que es lo que hace mailto.

tengo el siguiente codigo y me arroja este error
error: HTTP Error 405.0 - Method Not Allowed

codigo:


<?php
$usersmtp ="[email protected]"; // Entre las comillas va una cuenta de correo de su panel de control
$pass="einfante01"; // Entre las comillas va el password de la cuenta de correo
$destino="[email protected]"; // Entre las comillas la direccion de correo donde va a recibir los mails

// Se verifica que los datos han sido enviados desde el formulario, para la validación con el SMTP
if ( $_POST['enviar'] == "1")
{
if ( $_POST['nombre'] != "" && $_POST['apellido'] != "" && $_POST['email'] != "" )

{
// Se incluye la librería necesaria para el envio
//require_once("fzo.mail.php");

//$mail = new SMTP("localhost",$usersmtp,$pass);

// Se configuran los parametros necesarios para el envío
$de = $usersmtp ;
$a = $destino;
$asunto = "E-mail Contacto";
$cc = $_POST['cc'];
$bcc = $_POST['bcc'];


$cuerpo = "Este es un e-mail enviado desde el formulario de contacto de la pagina\n\n";
$cuerpo .= "Nombre: " .$_POST['nombre'] . "\n";
$cuerpo .= "Apellido: " .$_POST['apellido'] . "\n";
$cuerpo .= "Direccion: " .$_POST['direccion'] . "\n";
$cuerpo .= "Telefono: " .$_POST['telefono'] . "\n";
$cuerpo .= "Email: " .$_POST['email'] . "\n";
$cuerpo .= "Consulta: " .$_POST['consulta'] . "\n";



$header = $mail->make_header($de, $a, $asunto, $_POST['prioridad'], $cc, $bcc);

/*
Pueden definirse más encabezados. Tener en cuenta la terminación de la
linea con (\r\n)

$header .= "Reply-To: ".$_POST['from']." \r\n";
$header .= "Content-Type: text/plain; charset=\"iso-8859-1\" \r\n";
$header .= "Content-Transfer-Encoding: 8bit \r\n";
$header .= "MIME-Version: 1.0 \r\n";
*/

// Se envia el correo y se verifica el error
/* $error = $mail->smtp_send($de, $a, $header, $cuerpo, $cc, $bcc);*/
$error = mail("[email protected]", $asunto, $cuerpo, $header);
if ($error == "0")

header("Location: contacto.html");


else
echo $error;
}
else
{

echo("Complete los campos Requeridos ");
}
}
?>
  #2 (permalink)  
Antiguo 17/04/2012, 14:16
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: Enviar correo por php

Si el formulario lo estás probando localmente deberías tener un servidor de correos instalado y configurado.

Si lo estás probando remotamente, deberías asegurarte que tu proveedor de hosting tenga soporte de php, no todos los isp permiten el método post necesario para procesar formularios.
__________________
Saludos!!!
Maru.-
  #3 (permalink)  
Antiguo 17/04/2012, 14:16
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Respuesta: Enviar correo por php

Pegale una mirada a este post:

http://www.forosdelweb.com/f4/method...llowed-128700/


Saludos
  #4 (permalink)  
Antiguo 17/04/2012, 14:39
 
Fecha de Ingreso: abril-2012
Mensajes: 71
Antigüedad: 12 años
Puntos: 16
Respuesta: Enviar correo por php

el error está aqui:

$header = $mail->make_header($de, $a, $asunto, $_POST['prioridad'], $cc, $bcc);

make-header es un metodo de SMTP() y tu el codigo correspondiente a SMTP lo has comentado...
si quieres enviar el mensaje como efectivamente lo estas enviando, osea con mail(), el header lo armas de igual manera que el cuerpo:
ejemplo:

$headers = "From: ".$from."" . "\r\n";
$headers .= "Reply-To: ".$from."" . "\r\n";
etc...

Etiquetas: correo, formulario, html
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 01:00.