Foros del Web » Programando para Internet » PHP »

Email

Estas en el tema de Email en el foro de PHP en Foros del Web. hola tengo este script : es para que le envien un mail desde la pagina pero el tema es que se envia el mail sin ...
  #1 (permalink)  
Antiguo 30/06/2013, 09:09
 
Fecha de Ingreso: marzo-2011
Mensajes: 115
Antigüedad: 13 años, 1 mes
Puntos: 0
Email

hola tengo este script : es para que le envien un mail desde la pagina pero el tema es que se envia el mail sin que lo envien, o sea ingresan al sitio y ya se envia?

Código PHP:
Ver original
  1. <?php
  2.  
  3. $Name = "$row_comentario[nombre]"; //senders name
  4. $email = "$_POST[correos]"; //senders e-mail adress
  5. $recipient = "$row_formulario[email]"; //recipient
  6. $mail_body = "Tienes un mail..."; //mail body
  7. $subject = "$_POST[detalle]"; //subject
  8. $header = "From: [email protected] ". $Name . " <" . $email . ">\r\n"; //optional headerfields
  9.  
  10. mail($recipient, $subject, $mail_body, $header); //mail command :)
  11. ?>

si me pueden ayudar muchas gracias
  #2 (permalink)  
Antiguo 30/06/2013, 09:16
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: Email

Se enviará cuando se ejecute el código. Si lo tienes puesto tal cual a pelo, entonces se ejecutará cuando se visite la página, y, claro, se enviará el email.

Si tu intención es que sólo se ejecute cuando se cumplen ciertas condiciones, como por ejemplo que se haya enviado un formulario, tendrás que indicarlo con un condicional:

Código PHP:
Ver original
  1. if(condicional) {
  2.   mail($recipient, $subject, $mail_body, $header);
  3. }

Donde condicional será lo que necesites comprobar para que se ejecute mail().
  #3 (permalink)  
Antiguo 30/06/2013, 12:19
 
Fecha de Ingreso: marzo-2011
Mensajes: 115
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Email

hice lo que dijiste y sigue igual, se manda
  #4 (permalink)  
Antiguo 30/06/2013, 12:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Email

Cita:
Iniciado por ofertasdiarias Ver Mensaje
hice lo que dijiste y sigue igual, se manda
Sería cuestión de ver exactamente lo que hiciste, ya que si no funciona entonces algo hiciste mal, ¿o tenemos que adivinar?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 30/06/2013, 12:29
 
Fecha de Ingreso: marzo-2011
Mensajes: 115
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Email

<?php

$Name = "$row_comentario[nombre]"; //senders name
$email = "$_POST[correos]"; //senders e-mail adress
$recipient = "$row_formulario[email]"; //recipient
$mail_body = "Tienes un mail..."; //mail body
$subject = "$_POST[detalle]"; //subject
$header = "From: [email protected] ". $Name . " <" . $email . ">\r\n"; //optional headerfields

if(condicional){
}
mail($recipient, $subject, $mail_body, $header); //mail command :)
?>
  #6 (permalink)  
Antiguo 30/06/2013, 12:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Email

Bueno, literalmente copiaste y pegaste algo que no entiendes, ¿cómo esperas que funcione?

Con "condicional" se refería en el ejemplo a alguna cierto tipo de condición que especifiques para que así suceda, ¿o no sabes programar?

Por favor, estudia un curso básico de programación, es el colmo que hayas tomado seudo código como si fuera código real, sencillamente inaceptable.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 30/06/2013, 12:38
 
Fecha de Ingreso: marzo-2011
Mensajes: 115
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Email

jajaa lo hice como tu dices solo me equivoque de scrit disculpa
  #8 (permalink)  
Antiguo 01/07/2013, 12:37
 
Fecha de Ingreso: junio-2011
Mensajes: 39
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: Email

hola si alguien me puede ayudar?

tengo este script : el cual se manda solo al ingresar al sitio?


Código PHP:
Ver original
  1. <?php
  2.  
  3. $nombre = $row_comentario['nombre']; //senders name
  4. $email = $_POST['correos']; //senders e-mail adress
  5. $desde = $row_formulario['email']; //recipient
  6. $asunto = "Tienes un mail..."; //mail body
  7. $detalle = $_POST['detalle']; //subject
  8. $header = "From: [email protected] ". $nombre . " <" . $email . ">\r\n"; //optional headerfields
  9.  
  10. if(isset ($_POST['nombre'])&& !empty ($_POST['nombre']) &&
  11.    isset ($_POST['detalle'])&& !empty ($_POST['detalle']) &&
  12.    isset ($_POST['correos'])&& !empty ($_POST['correos'])) {
  13.  
  14. }
  15.  
  16. mail ($desde, $asunto, $detalle, $header); //mail command :)
  17.  
  18. ?>

gracias!!!

Última edición por ofertasdiairias; 01/07/2013 a las 12:42
  #9 (permalink)  
Antiguo 01/07/2013, 12:59
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Email

El objetivo de un condicional es que si cumple dicha condición entonces debe hacer algo, de lo contrario no hacer nada, por lo tanto si tu haces una condición que es el if significa que lo que está dentro de las llaves es lo que quieres que se haga si cumple la condición, para el caso enviar un email. por lo tanto no crees que la función mail debe ir dentro de las llaves del if????????????????

Piensa y analiza.......
  #10 (permalink)  
Antiguo 01/07/2013, 17:14
 
Fecha de Ingreso: marzo-2011
Mensajes: 115
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Email

Muchas gracias..

es como dicen el que sabe sabe y el que no aprende jeje

este es el codigo por si le sirve a alguien
Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. if(isset ($_POST['nombre'])&& !empty ($_POST['nombre'])&&
  5.    isset ($_POST['detalle'])&& !empty ($_POST['detalle'])&&
  6.    isset ($_POST['correos'])&& !empty ($_POST['correos']))
  7.    {
  8.  
  9. $nombre = $row_comentario['nombre']; //senders name
  10. $email = $_POST['correos']; //senders e-mail adress
  11. $desde = $row_formulario['email']; //recipient
  12. $asunto = "Tienes un mail..."; //mail body
  13. $detalle = $_POST['detalle']; //subject
  14. $header = "From: [email protected] ". $nombre . " <" . $email . ">\r\n"; //optional headerfields
  15.    }
  16. mail($desde, $asunto, $detalle, $header); //mail command :)
  17. ?>
  #11 (permalink)  
Antiguo 01/07/2013, 17:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Email

Lo sigues haciendo mal.

La llamada de la función email() también debería estar dentro del bloque lógica de la condición, pero lo estás haciendo fuera del bloque.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 03/07/2013, 04:10
Avatar de exatienda  
Fecha de Ingreso: julio-2013
Ubicación: Manresa, Barcelona
Mensajes: 227
Antigüedad: 10 años, 10 meses
Puntos: 21
Respuesta: Email

Si pones la función mail() fuera de la condición If, te mandará sí o sí un email indiscrimidamente cada vez que se cargue la página, Deberías ponerlo así:

Cita:
<?php


if(isset ($_POST['nombre'])&& !empty ($_POST['nombre'])&&
isset ($_POST['detalle'])&& !empty ($_POST['detalle'])&&
isset ($_POST['correos'])&& !empty ($_POST['correos']))
{

$nombre = $row_comentario['nombre']; //senders name
$email = $_POST['correos']; //senders e-mail adress
$desde = $row_formulario['email']; //recipient
$asunto = "Tienes un mail..."; //mail body
$detalle = $_POST['detalle']; //subject
$header = "From: [email protected] ". $nombre . " <" . $email . ">\r\n"; //optional headerfields
mail($desde, $asunto, $detalle, $header); //mail command :)
}

?>
__________________
cajas rack tpvs | impresoras

Etiquetas: email, 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 17:29.