Funcion mail

Imagen de dasan92
0 puntos

Hola a todos! Este es mi primer mensaje en el foro y espero que me puedan ayudar.

Me dispuse a montar un servidor ubuntu server en casa para poder alojar mis sitios webs.

Todo fue perfecto hasta que intente hacer un formulario en una de mis webs i que este se enviase por correo. Usé la funcion mail de php pero nunca se me envia el correo y he llegado a la conclusion (despues de revisar varias veces el codigo) que el problema viene del servidor...

El codigo php es el siguiente:

<?php
if(isset($_POST['submit'])) {

$para = "correo@dominio.com";
$asunto = "Mensaje desde el sitio de Londres Photostudio";
$nombre = $_POST['nombre'];
$correo = $_POST['email'];
$mensaje = $_POST['mensaje'];

$cuerpo = " Enviado por: $nombre\n E-Mail: $correo\n $check_msg Mensaje:\n $mensaje\n";

echo "El mensaje ha sido enviado a $para!";
mail($para, $asunto, $cuerpo);

} else {
echo "Ha ocurrido un error!";
}
?>

Siempre que lo pruebo me salta el else "Ha ocurrido un error!"

Alguien puede ayudarme? Me sacarian de un gran apuro...

Muchas grácias de antemano y espero sus respuestas!

David.

Imagen de FP_39
+1
0
-1

En ningún momento especificás el valor de la variable submit.

+1
0
-1
  • Placa madre Intel Corporation
  • Memoria RAM 1 GB
  • Microprocesador Intel Atom N455 1.66 GHz 64 bits
  • GPU Intel VGA integrada
  • Audio Intel HD NM10/ICH7
  • WiFi Realtek RTL8191SEvB
Imagen de dasan92
+1
0
-1

No entiendo que quiere decir :S Que valor tengo que especificar y por què?

Grácias!

+1
0
-1
Imagen de dasan92
+1
0
-1

Aqui el codigo html:

<h1>Contacto</h1>
<form action="mensajero.php" method="post">
<table width="200" border="0" cellpadding="5">
<tr>
<td width="5" align="right" valign="top">Nombre</td>
<td><input name="nombre" type="text" id="nombre" size="48" /></td>
</tr>
<tr>
<td width="5" align="right" valign="top">E-mail</td>
<td><input name="email" type="text" id="email" size="48" /></td>
</tr>
<tr>
<td width="5" align="right" valign="top">Mensaje</td>
<td><textarea name="mensaje" id="mensaje" cols="35" rows="5"></textarea></td>
</tr>
<tr align="right">
<td width="5" valign="top">&nbsp;</td>
<td><input type="submit" name="Enviar" id="Enviar" value=" Enviar Mensaje" /></td>
</tr>
</table>

Espero me puedan ayudar porque ya no se que mas hacer... Muchas grácias!!

+1
0
-1
Imagen de FP_39
+1
0
-1

El código PHP tiene esta línea:
if(isset($_POST['submit'])) {
Esta línea evalúa la existencia de una variable del tipo $submit = true o $submit = 1 o $submit = "el valor que quieras poner". Avanzando en el código, escribiste:

$para = "correo@dominio.com";
$asunto = "Mensaje desde el sitio de Londres Photostudio";
$nombre = $_POST['nombre'];
$correo = $_POST['email'];
$mensaje = $_POST['mensaje'];

$cuerpo = " Enviado por: $nombre\n E-Mail: $correo\n $check_msg Mensaje:\n $mensaje\n";

echo "El mensaje ha sido enviado a $para!";
mail($para, $asunto, $cuerpo);

Y en ningún momento aparece ninguna asignación para la variable $submit. Podrías agregar, después de la línea "$cuerpo = etc. etc", lo siguiente:
$submit = true o $submit = 1
Con algo así, el código debería funcionar.

+1
0
-1
  • Placa madre Intel Corporation
  • Memoria RAM 1 GB
  • Microprocesador Intel Atom N455 1.66 GHz 64 bits
  • GPU Intel VGA integrada
  • Audio Intel HD NM10/ICH7
  • WiFi Realtek RTL8191SEvB
Imagen de FP_39
+1
0
-1

El código PHP tiene esta línea:
if(isset($_POST['submit'])) {
Esta línea evalúa la existencia de una variable del tipo $submit = true o $submit = 1 o $submit = "el valor que quieras poner". Avanzando en el código, escribiste:

$para = "correo@dominio.com";
$asunto = "Mensaje desde el sitio de Londres Photostudio";
$nombre = $_POST['nombre'];
$correo = $_POST['email'];
$mensaje = $_POST['mensaje'];

$cuerpo = " Enviado por: $nombre\n E-Mail: $correo\n $check_msg Mensaje:\n $mensaje\n";

echo "El mensaje ha sido enviado a $para!";
mail($para, $asunto, $cuerpo);

Y en ningún momento aparece ninguna asignación para la variable $submit. Podrías agregar, después de la línea "$cuerpo = etc. etc", lo siguiente:
$submit = true o $submit = 1
Con algo así, el código debería funcionar.

+1
0
-1
  • Placa madre Intel Corporation
  • Memoria RAM 1 GB
  • Microprocesador Intel Atom N455 1.66 GHz 64 bits
  • GPU Intel VGA integrada
  • Audio Intel HD NM10/ICH7
  • WiFi Realtek RTL8191SEvB
Imagen de FP_39
+1
0
-1

Perdón por el comentario doble (funciona mal mi conexión a Internet)

+1
0
-1
  • Placa madre Intel Corporation
  • Memoria RAM 1 GB
  • Microprocesador Intel Atom N455 1.66 GHz 64 bits
  • GPU Intel VGA integrada
  • Audio Intel HD NM10/ICH7
  • WiFi Realtek RTL8191SEvB