Autor Tema: mail() - Enviar e-mail  (Leído 6946 veces)

Desconectado Raken

  • PHPero Avanzado
  • ****
  • Mensajes: 297
  • Karma: 30
  • Sexo: Masculino
    • Ver Perfil
mail() - Enviar e-mail
« en: 21 de Octubre de 2006, 16:34:02 pm »
Una característica interesante de PHP es que éste puede mandar e-mails a cuentas de correo, y lo hace desde una función predeterminada muy simple.

Estoy hablando de la función mail()


Sintaxis

Para hacer uso de ésta función sólo hay que escribir:
mail(e-mailasuntomensaje); 

Ej. mail("contacto@diver-habbo.net""Hola""que tal naveda?? xD");


Uso de variables

Para usar la función mail() también se puede hacer uso de variables.

Ej. $email "contacto@diver-habbo.net";
$asunto "Hola";
$mensaje "Que tal Naveda?? XD";

mail ($email$asunto$mensaje);


Estas variables se pueden recoger también desde un formulario, utilizando $_POST, como se explicará en un mensaje a parte en este foro. Así, el formulario podría mandar e-mails con la ayuda de PHP.


Mensaje multilínea

Código: [Seleccionar]
Esto son
saltos de
linea

Para enviar un mensaje con saltos de línea... se puede escribir \n en el momento que quieres cambiar de línea.

Ej. $mensaje "Esto son\n saltos de\n linea";

Si quieres que se vea un poco más claro puedes concatenar. ¿Qué es eso de concatenar? Pues es asociar varios strings a una misma variable. ¿No se ha entendido, verdad? ;D Mejor con un ejemplo:

Ej. $mensaje "Esto son\n"
     
."Saltos de\n"
     
."Linea";



Para el que quiera ir más lejos...

Hay algo que no he explicado, pero en lo que no voy a entrar, y es que en la función mail() se pueden incluir headers para definir el tipo de contenido que habrá en el e-mail (si será HTML o texto plano, qué tipo de codificación, prioridad.. etc)


Más información en http://es2.php.net/manual/en/function.mail.php





Raken - Moderador para PHP y HTML

Comunidad PHPeros

mail() - Enviar e-mail
« en: 21 de Octubre de 2006, 16:34:02 pm »

Desconectado kekoman

  • PHPero Master
  • ******
  • Mensajes: 1.180
  • Karma: 45
  • Sexo: Masculino
  • Mi nuevo usuario es marco811
    • Ver Perfil
Re: mail() - Enviar e-mail
« Respuesta #1 en: 01 de Enero de 2007, 01:11:55 am »
muy util  :(  ;) Gracias!


Este usuario ya no lo uso, mi nuevo usuario es marco811

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re: mail() - Enviar e-mail
« Respuesta #2 en: 01 de Enero de 2007, 14:21:17 pm »
Tambien puedes añadir "Headers" para que no tenga problemas, como por ejemplo con Hotmail, que requiere unos Headers para que se inserte en tu Bandeja de entrada, y no se dirija a bandeja de correo electronico no deseado.
Si los encuentro por ahi los pongo!
Saludos
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado kekoman

  • PHPero Master
  • ******
  • Mensajes: 1.180
  • Karma: 45
  • Sexo: Masculino
  • Mi nuevo usuario es marco811
    • Ver Perfil
Re: mail() - Enviar e-mail
« Respuesta #3 en: 27 de Abril de 2007, 12:54:26 pm »
karma+


Este usuario ya no lo uso, mi nuevo usuario es marco811

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: mail() - Enviar e-mail
« Respuesta #4 en: 27 de Abril de 2007, 23:05:56 pm »
KARMA +
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Desconectado Ishamato

  • PHPero Avanzado
  • ****
  • Mensajes: 346
  • Karma: 3
  • Sexo: Masculino
  • PHPero adicto
    • Ver Perfil
Re: mail() - Enviar e-mail
« Respuesta #5 en: 17 de Mayo de 2007, 16:48:06 pm »
+ karma ^^

<? echo "Aprendiendo y descubriendo poco a poco"; ?>

Desconectado Raken

  • PHPero Avanzado
  • ****
  • Mensajes: 297
  • Karma: 30
  • Sexo: Masculino
    • Ver Perfil
Re: mail() - Enviar e-mail
« Respuesta #6 en: 21 de Mayo de 2007, 01:26:20 am »
Gracias amores :)

Estoy de vuelta! .. pasaba por aquí ..
Raken - Moderador para PHP y HTML

Desconectado kekoman

  • PHPero Master
  • ******
  • Mensajes: 1.180
  • Karma: 45
  • Sexo: Masculino
  • Mi nuevo usuario es marco811
    • Ver Perfil
Re: mail() - Enviar e-mail
« Respuesta #7 en: 21 de Mayo de 2007, 14:29:46 pm »
eres un crack ;D tienes karma 23 "mamon" xD
ahora tienes karma 24 ;D karma plus ;D


Este usuario ya no lo uso, mi nuevo usuario es marco811

Desconectado mOrK

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 1.503
  • Karma: 43
  • :)
    • Ver Perfil
    • Sígueme en Twitter!
Re: mail() - Enviar e-mail
« Respuesta #8 en: 21 de Mayo de 2007, 17:30:45 pm »
Bienvenido de nuevo ;)

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: mail() - Enviar e-mail
« Respuesta #9 en: 21 de Mayo de 2007, 19:31:00 pm »
Pregunta del millón para Raken o Naveda :P o para los 2 para que no os pegeis :PPPP

Si por ejemplo tengo X numero de usuarios a los qual quiero enviar un mail a travez de esta función.

Como deberia hacerlo?

Hacer el formulario con un monton de casilleros y en el enviar poner un monton de funciones  mail()??

ejemplo:

<?php
$email1 
"correo@blablabla.com";
$asunto "Hola";
$mensaje "Que tal Naveda?? XD";

mail ($email1$asunto$mensaje);

$email2 "correo_2@blablabla.com";

mail ($email2$asunto$mensaje);

$email3 "correo_3@blablabla.com";

mail ($email3$asunto$mensaje);

?>
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Desconectado kekoman

  • PHPero Master
  • ******
  • Mensajes: 1.180
  • Karma: 45
  • Sexo: Masculino
  • Mi nuevo usuario es marco811
    • Ver Perfil
Re: mail() - Enviar e-mail
« Respuesta #10 en: 21 de Mayo de 2007, 21:43:11 pm »
en codigo php puedes poner el numero de funcciones que te da la gana ;D!


Este usuario ya no lo uso, mi nuevo usuario es marco811

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: mail() - Enviar e-mail
« Respuesta #11 en: 21 de Mayo de 2007, 22:04:25 pm »
ya pero es una matada hacer eso... imagina que tienes 200 personas a enviar... hazlo anda... xD es una matada
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Desconectado JuAnCHO

  • PHPero Avanzado
  • ****
  • Mensajes: 327
  • Karma: 1
  • Sexo: Masculino
  • 33 Y Truco xD
    • Ver Perfil
Re: mail() - Enviar e-mail
« Respuesta #12 en: 21 de Mayo de 2007, 23:25:59 pm »
Pregunta del millón para Raken o Naveda :P o para los 2 para que no os pegeis :PPPP

Solo haces preguntas para Raken o Naveda ?

Las preguntas debes hacerlas a todos los foreros que visitamos PHPeros, si uno no sabe la respuesta, la puede dar otro. Pero no solo preguntar a los mismo, porque si alguien puede darte la solución, como has preguntado solo a estos, no te la dará.

Saludos!

-----------------------------------------------------------------
" A un gran corazón ninguna ingratitud lo cierra,
   ninguna indeferencia lo cansa ".

Desconectado Raken

  • PHPero Avanzado
  • ****
  • Mensajes: 297
  • Karma: 30
  • Sexo: Masculino
    • Ver Perfil
Re: mail() - Enviar e-mail
« Respuesta #13 en: 22 de Mayo de 2007, 00:04:54 am »
Pregunta del millón para Raken o Naveda :P o para los 2 para que no os pegeis :PPPP

Si por ejemplo tengo X numero de usuarios a los qual quiero enviar un mail a travez de esta función.

Como deberia hacerlo?

Hacer el formulario con un monton de casilleros y en el enviar poner un monton de funciones  mail()??

ejemplo:

<?php
$email1 
"correo@blablabla.com";
$asunto "Hola";
$mensaje "Que tal Naveda?? XD";

mail ($email1$asunto$mensaje);

$email2 "correo_2@blablabla.com";

mail ($email2$asunto$mensaje);

$email3 "correo_3@blablabla.com";

mail ($email3$asunto$mensaje);

?>



No es necesario hacer el proceso a mano. Piensa que X puede ser un número muy extenso o que vaya variando automáticamente. Para este tipo de casos puedes utilizar bucles.

Suponiendo que guardas la lista de estos usuarios en una matriz, así:

<?  $usuarios_lista = array("Pepe@pepe.com""Juan@juan.com""Manolo@manolo.com"); ?>


(Si conoces acerca de las matrices, arrays en inglés, sabrás que puedes mostrarlos así:)

<? echo $usuarios_lista[0]; //Mostrara Pepe@pepe.com
echo $usuarios_lista[1]; //Mostrara Juan@juan.com
echo $usuarios_lista[2]; //Mostrara Manolo@manolo.com
?>


Pues a lo que iba. Para repetir el proceso X veces puedes hacer uso de bucles, como por ejemplo la función FOR.


<? 
$numero_usuarios 5//Esta seria la X, el numero de usuarios, pongo 5 por poner UN EJEMPLO
$i 0//Este es el valor numerico que ira sumando, para recorrer 0, 1, 2, 3... hasta el numero de usuarios.

for ($i=0$i<=$numero_usuarios$i++) {

mail ($usuarios_lista[$i], $asunto$mensaje);

}


Con esto enviará un e-mail a cada asociado a la lista de usuarios, recorriendo desde el usuario 0 hasta el que tengamos (5 en el ejemplo)

Saludos ;)
Raken - Moderador para PHP y HTML

Desconectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re: mail() - Enviar e-mail
« Respuesta #14 en: 22 de Mayo de 2007, 00:10:55 am »
O también...

<?  $usuarios_lista = array("Pepe@pepe.com""Juan@juan.com""Manolo@manolo.com"); ?>

<?PHP
foreach ($usuarios_lista as $value) {
mail ($value$asunto$mensaje);
}
?>
Por favor, leete las Normas