Enviar mail con php
Hol a que tal Experto tengo una página a ala cual quiero enviar mail y probé con los siguientes códigos y ninguno de los dos funciona.
Más abajo están ambos códigos
el 1ro me dice el siguiente error : Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\AppServ\www\enviar.php on line 29
el 2do no me dice ningun error
Este es el 1ro
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Mándanos tus comentarios</title>
</head>
<body bgcolor="#cccc66" text="#003300" link="#006060" vlink="#006060">
<?
if (!$HTTP_POST_VARS){
?>
<form action="enviar.php" method=post>
Nombre: <input type=text name="nombre" size=16>
<br>
Email: <input type=text name=email size=16>
<br>
Comentarios: <textarea name=coment cols=32 rows=6></textarea>
<br>
<input type=submit value="Enviar">
</form>
<?
}else{
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado\n";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Comentarios: " . $HTTP_POST_VARS["coment"] . "\n";
//mando el correo...
mail("[email protected]","Formulario recibido",$cuerpo);
//doy las gracias por el envío
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
}
?>
</body>
</html>
.-----------------------
es el 2do
<html>
<head>
<title> Formulario de contacto </title>
</head>
<body>
<H2 align='center'> FORMULARIO DE CONTACTO </H2> <br>
<hr>
<br>
<?php
if ( !isset($_POST['usuario']) ) {
echo "<form name='_contacto' method='POST'> \n";
echo "Usuario: <input type='text' name='usuario'> <br> \n";
echo "Comentarios: <textarea name='comentarios' rows=10 cols=60></textarea> <br> \n";
echo "<input type='submit' name='enviar' value='Enviar'> \n";
echo "</form> \n";
} else {
$remitente = $_POST['usuario'];
$destinatario = "[email protected]";
$asunto = "Un usuario te ha enviado comentarios.";
$mensaje = "
<html>
<head>
<title> $asunto </title>
</head>
<body>
".
"El usuario <B> $remitente </B> ha escrito lo siguiente: <br> <br>".
"{$_POST['comentarios']} <br> <br>".
"
</body>
</html>
";
$cabecera = "MIME-Version: 1.0\r\n";
$cabecera .= "Content-type: text/html; charset=iso-8859-1\r\n";
$cabecera .= "From: $remitente\r\n";
@mail( $destinatario, $asunto, $mensaje, $cabecera );
echo "<B> El mensaje se ha enviado correctamente. En breve obtendrás la respuesta. </B>";
}
?>
</body>
</html>
Trabajo con [email protected] y con [email protected] como origen u destino
Más abajo están ambos códigos
el 1ro me dice el siguiente error : Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\AppServ\www\enviar.php on line 29
el 2do no me dice ningun error
Este es el 1ro
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Mándanos tus comentarios</title>
</head>
<body bgcolor="#cccc66" text="#003300" link="#006060" vlink="#006060">
<?
if (!$HTTP_POST_VARS){
?>
<form action="enviar.php" method=post>
Nombre: <input type=text name="nombre" size=16>
<br>
Email: <input type=text name=email size=16>
<br>
Comentarios: <textarea name=coment cols=32 rows=6></textarea>
<br>
<input type=submit value="Enviar">
</form>
<?
}else{
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado\n";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Comentarios: " . $HTTP_POST_VARS["coment"] . "\n";
//mando el correo...
mail("[email protected]","Formulario recibido",$cuerpo);
//doy las gracias por el envío
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
}
?>
</body>
</html>
.-----------------------
es el 2do
<html>
<head>
<title> Formulario de contacto </title>
</head>
<body>
<H2 align='center'> FORMULARIO DE CONTACTO </H2> <br>
<hr>
<br>
<?php
if ( !isset($_POST['usuario']) ) {
echo "<form name='_contacto' method='POST'> \n";
echo "Usuario: <input type='text' name='usuario'> <br> \n";
echo "Comentarios: <textarea name='comentarios' rows=10 cols=60></textarea> <br> \n";
echo "<input type='submit' name='enviar' value='Enviar'> \n";
echo "</form> \n";
} else {
$remitente = $_POST['usuario'];
$destinatario = "[email protected]";
$asunto = "Un usuario te ha enviado comentarios.";
$mensaje = "
<html>
<head>
<title> $asunto </title>
</head>
<body>
".
"El usuario <B> $remitente </B> ha escrito lo siguiente: <br> <br>".
"{$_POST['comentarios']} <br> <br>".
"
</body>
</html>
";
$cabecera = "MIME-Version: 1.0\r\n";
$cabecera .= "Content-type: text/html; charset=iso-8859-1\r\n";
$cabecera .= "From: $remitente\r\n";
@mail( $destinatario, $asunto, $mensaje, $cabecera );
echo "<B> El mensaje se ha enviado correctamente. En breve obtendrás la respuesta. </B>";
}
?>
</body>
</html>
Trabajo con [email protected] y con [email protected] como origen u destino
Respuesta de Jorge Vila
1