Comunidad PHPeros
Lenguajes => PHP => Mensaje iniciado por: Raken 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-mail, asunto, mensaje);
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
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
-
muy util :( ;) Gracias!
-
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
-
karma+
-
KARMA +
-
+ karma ^^
-
Gracias amores :)
Estoy de vuelta! .. pasaba por aquí ..
-
eres un crack ;D tienes karma 23 "mamon" xD
ahora tienes karma 24 ;D karma plus ;D
-
Bienvenido de nuevo ;)
-
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);
?>
-
en codigo php puedes poner el numero de funcciones que te da la gana ;D!
-
ya pero es una matada hacer eso... imagina que tienes 200 personas a enviar... hazlo anda... xD es una matada
-
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!
-
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 ;)
-
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);
}
?>
-
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!
No, no... lo decia porque Raken era el que explicaba la función y naveda bueno no hace falta que diga lo que sabe :P
Cualquiera puede responder
-
Muy bueno... gracias a los 2... pero veo el codigo de naveda con menos trabajo y lo que de verdad importa... ahorrar codigo!! :P
-
Muy bueno... gracias a los 2... pero veo el codigo de naveda con menos trabajo y lo que de verdad importa... ahorrar codigo!! :P
No, en realidad yo hice la explicación completa y él aportó una variante (también válida) para las últimas líneas. En realidad es esto:
for ($i=0; $i<=$numero_usuarios; $i++) {
mail ($usuarios_lista[$i], $asunto, $mensaje);
}
contra esto:
foreach ($usuarios_lista as $value) {
mail ($value, $asunto, $mensaje);
}
No hay diferencia prácticamente, y cualquiera de las dos es válida. ;) Saludos.
-
En efecto, ambos metodos usan diferentes formas de iteración pero con el mismo efecto :P
-
A vale gracias Raken por la explicación ;)
Saludossssss ^^
-
tambien si queres puedes poner en el formulario donde vas a poner el campo de "email" puedes poner direcciones de email separadas por coma y se enviara a las dos xD ;D!
ejemplo: mierda@caca.com,ijode*****@hotmail.com xD
-
tambien si queres puedes poner en el formulario donde vas a poner el campo de "email" puedes poner direcciones de email separadas por coma y se enviara a las dos xD ;D!
ejemplo: mierda@caca.com,ijode*****@hotmail.com xD
Vaya ejemplos as utilizado... xD
-
Sisi, que finura...
-
Yo e echo 1 formmail con 2 archivos .. me chequean los errores? el primero es
form.php
<form method="POST" action="enviar.php">
<p>Titulo<br>
<input type="text" name="titulo" size="20"><br>
Nombre<br>
<input type="text" name="mensaje1" size="20"><br>
Mensaje:<br>
<textarea rows="2" name="mensaje2" cols="20"></textarea></p>
<p><input type="submit" value="Enviar" name="B1"><input type="reset" value="Restablecer" name="B2"></p>
</form>
luego esta enviar.php
<?
$email = "mara_phpera@hotmail.com";
$asunto = $_POST['titulo'];
$mensaje = $_POST['mensaje1'] && $_POST['mensaje2'];
mail ($email, $asunto, $mensaje);
?>
Ahora el error dice asi:
Warning: mail() has been disabled for security reasons in /home/virtual/sitio154382/www/formmail/enviar.php on line 6
que sera?
-
Creo que es porque no hay headers, creo...
-
Seguramente será porque tu host no soporta la funcion mail, quizas para evitar el envio masivo de estos.
Saludos
-
Dios mio, yo no se como llevais el ingles pero vamos que lo veo bastante bien explicado en el error que devuelve PHP:
Warning: mail() has been disabled for security reasons in /home/virtual/sitio154382/www/formmail/enviar.php on line 6
Por razones de seguridad, no dice cuales, la función mail() ha sido deshabilitada.
¿Solución?
Cambiar de Servidor por uno que la tenga activada o aguantarte...
-
La verdad que no lo leí :$
Perdón!
-
¿Y cómo se hace un Formulario?
Osea, poner por ejemplo
Edad: [Cuadro para escribir]
MSN: [Cuadro para escribir]
[Botón enviar]
al enviar que diga
[Alert]Su Formulario ha sido enviado con éxito[/Alert]
y si puso algo mal
[Alert] Olvido rellenar el campo $campo1[/Alert]
y que lo lleve a mi mail
-
¬¬ Hay tutoriales en PHPeros en donde encontrarás información sobre como crear formularios de contacto, busca y aprende... no damos códigos hechos (de normal xD)
-
Hola,
que alguien me ayude, necesito un hosting que tenga activada la funcion mail() y que no tenga publicidad .. Pregunta en muchos lados pero no responden :o
-
yo no te puedo ayudar por q los que yo utilizo de gratishost no la tienen activada, y por que no buscas alguno de publi que sea muy poco visible?
-
Y xq no pagas 1€ por un alojamiento en EEUU que te va a ir mas rapido que uno gratuito y no tendrás publi?...
No se creo que igual te sale mas rentable y todo...
-
si, o usar un host propio con easyphp? puede ser no?
-
Y xq no pagas 1€ por un alojamiento en EEUU que te va a ir mas rapido que uno gratuito y no tendrás publi?...
No se creo que igual te sale mas rentable y todo...
El problema de esto es que necesitas algun metodo de pago que vaya hasta estados unidos, como sea tarjeta de credito o lo que sea, pero no creo que muchos tengan esa posibilidad.
Saludos!
-
pues si hay un hst que es gratuito y le sirve la funcion mail, no es por spam que lo digo es alojalo.info :P
-
si, o usar un host propio con easyphp? puede ser no?
Prefiero xampp :P
Yo creo que es mejor
-
Es seguro el XAMPP?...:S
Y cual seria un HOST DE PAGO apropiado y seguro aca en Mexico, alguien sabe?... :D
Muxas Grax por Respponder!
Un saludo!
-
Es seguro el XAMPP?...:S
Y cual seria un HOST DE PAGO apropiado y seguro aca en Mexico, alguien sabe?... :D
Muxas Grax por Respponder!
Un saludo!
Uf lo vas a tener chungo amigo...
-
os abeis desviado del tema xD
Bueno Frank yo estoy provando con este:
www.awardspace.com
200 Mb de espacio
5 Gb de trafico
2 dominios
5 Subdominios
1 base de datos Mysql
5 cuentas de e-mail
5 cuentas ftp
Sin banners
Gratuito
Te dan de alta al instnte
Se supone que es bueno pero como todos los gratis el correo llega a los 10 min
saludos
-
Oigan como instaldo un xamp?
-
es lo mas fácil del mundo! Das siguiente, siguiente, completas todos los datos, y cuando acaba la instalación debes ir a http://localhost :) :)
-
Oigan como instaldo un xamp?
Cuando te conectes si quieres te hecho una mano ;)
-
Es decir que con esta funcion en sitios como foros,podemos hacer esto de "la confirmacion de cuenta mandando un email"?
-
Es decir que con esta funcion en sitios como foros,podemos hacer esto de "la confirmacion de cuenta mandando un email"?
Exacto.
Te pediría que por favor no habras temas tan viejos :P
Este es del 2007!
Anota las dudas que te salgan, y en lugar de responder en temas viejos crea uno nuevo.
Si necesitas referirte a este tema indica la URL y listo :)
Saludos
-
schiuuu.....