Dado que el otro día expliqué de una forma rápida cómo enviar emails a través de la función mail(), hoy voy a comentar con más detalle su uso.
La estructura general es la siguiente:
mail ($destino, $asunto, $mensaje, $cabeceras);
La dirección de destino se puede indicar de cualquiera de las siguientes formas:
mail('nombre@empresa.com');
mail('nombre1@empresa.com, nombre2@empresa.com');
mail('Nombre <nombre@empresa.com>');
mail('Nombre1 <nombre1@empresa.com>, Nombre2 <nombre2@empresa.com>');
Para indicar el asunto:
$asunto = 'El asunto no debe exceder los 70 caracteres ni tener saltos de linea';
Respecto al mensaje:
$mensaje = "Aqui va el contenido a enviar, para crear saltos de linea escribimos \n";
Las cabeceras son las que más miga tienen, tenemos 4 opciones, podemos utilizar solamente una, o las 4 a la vez (separándolas con saltos de línea).
//Dirección del remitente From: Web <nombre@empresa.com> //Dirección a quien responder Reply-To: Nombre <nombre@empresa.com> //Dirección a quien enviar una copia del mensaje BCC: Nombre <nombre@empresa.com> //Cabecera para enviar el email cómo HTML Content-Type: text/html; charset=iso-8859-1
Y poco más, con esto ya queda explicada con más detalle la función mail(), que la disfrutéis ;P
Twittea esto Guardalo en Delicious Compartelo en Facebook








Junio 4th, 2008 at 4:27 am
muy interesante
por cierto no se que has tocado del RSS pero no me gusta como lo has dejado…
Junio 4th, 2008 at 5:34 am
ui.. que le pasa? yo no he tocado ná :/
Junio 4th, 2008 at 6:10 am
Un errorcito Nati, mira:
Tanto saltos de línea como retornos de carro como tabulaciones u otras abreviaturas (\n , \r , \t) solamente funcionan entre comillas dobles, luego deberías cambiar tu ejemplo en;
$mensaje = ‘Aqui va el contenido a enviar, para crear saltos de linea escribimos \n’;
Por:
$mensaje = “Aqui va el contenido a enviar, para crear saltos de linea escribimos \n”;
O de lo contrario no se registrará un salto de línea sino la cadena ‘\n’.
Por lo demás buen artículo
Junio 4th, 2008 at 8:50 am
ups! muchas gracias por la corrección pepe, te mereces una miniestatua
ahora diría: no.. si lo he hecho para ver si estabais atentos.. cuela? jaja
que va, la verdad ni me había dado cuenta, yo y mi manía de las comillas simples.. esq son taaaaaaaaaan bonitas xD
Junio 5th, 2008 at 2:48 am
Te comprendo, yo uso un 80% de comillas simples tb porque para llenarlas con HTML son ideales (no colisionan con las dobles de los atributos en las tags xD) pero mira, ya que estoy una pequeña guía de como usarlas, para mi gusto claro:
Comillas dobles (“): son ideales para concatenar variables en texto
- Texto plano -> echo “Hola, me llamo $nombre”;
- Consultas SQL -> mysql_query(“SELECT * FROM tabla WHERE ref = ‘referencia’ LIMIT 1″);
Comillas simples (‘):
- Índices de arrays -> echo “El valor es {$array['1']}”;
- HTML/XML -> echo ‘<a href=”www.web.com” title=”ir a mi web” rel=”nofollow”>’;
Bueno, más o menos xD
Un saludo nati, espero que sigas actualizando el blog con esta frecuencia
Junio 5th, 2008 at 2:49 am
vaya, no conté conque esto admite html :S
supongo que tú podrás arreglarlo.
Junio 5th, 2008 at 5:22 am
arreglao
muchas gracias por tu miniguia! viene bien tenerla a mano cuando no sabes porque te falla algo (aunque sea descartas una posibilidad xD)
Octubre 13th, 2008 at 9:36 am
¡Excelente!
Muchas gracias por la ayuda
Octubre 14th, 2008 at 22:41 pm
Hola Nebiros!
saludos!!
Muchas gracias a ti x visitarme y dejar tu comentario aún sin tener dudas que resolver, me alegra mucho saber que sirve de algo lo que escribo
Marzo 24th, 2009 at 3:10 am
Ola queria saber como puedo crear un formulario de envio, osea insertar un codigo en una pagina html y cuando hagan clic en enviar , el action vaya a un “enviar.php” y de envie el mensaje a mi e-mail.
Gracias……
Marzo 24th, 2009 at 15:25 pm
Hola ulises!
Simplemente inserta el código de envío en la página enviar.php y escribe el action así:
<form action=”enviar.php” method=”post”>
Cuando hagan clic sobre el botón enviar, se ejecutará el código de enviar.php
Un saludo!
Marzo 25th, 2009 at 20:05 pm
hola,muy bueno tu blog, mire muchas cposas y son interesantes, una pregunta, para enviar la pagina tiene que estar conectada a un servidor, subida en un hosting o algo, o teniendolo en el escritorio funciona? me refiero al otro post que pusiste tu codigo que usabas
felicitaciones, y verdaderamente me da pena que no obtengas ganancias por este blog! te recomiendo que agreges unos bloques adsense
jejeje
adios! y chauu
Marzo 25th, 2009 at 23:03 pm
Hola julian!
Sí que te hace falta subir el archivo a un servidor / hosting que te interprete php (esto es importante), si no quieres pagar seguro que hay alojamientos gratuitos con esta característica.. si no te aclaras o no consigues que funcione, avisame e intentamos arreglarlo.
Gracias por las felicitaciones, y sobre el adsense todo se andará, no es una cosa que me quite el sueño xD
Un saludo!! ya me cuentas que tal tu formulario
Abril 9th, 2009 at 4:05 am
hola será una prueba
Noviembre 26th, 2009 at 18:22 pm
[...] vez tenemos nuestro select, pasamos a enviar los datos a través de la función mail() a nuestra dirección de [...]
Marzo 22nd, 2010 at 17:41 pm
Hola Nataly! He estado leyendo las entradas de tu blog y pues me han resultado bastante útiles. Fijate que yo soy bastante nuevo en esto del desarrollo web, y estoy trabajando en un sitio, sin embargo, tengo todo el aspecto del diseño bajo control, y quiero incluir un formulario en PHP, sin embargo, ya tengo el fichero de php pero no se como incluirlo en el html… jejeje se que debe ser simplísimo pero no se como hacerlo y sería peor quedarme con la duda para siempre… Muchas gracias de antemano por tu respuesta y saludos desde Guatemala!
Marzo 22nd, 2010 at 17:58 pm
Hola Luis Edgar!
Mira la explicacion que puse en este articulo:
http://blog.nnatali.com/2008/05/08/php-enviar-formulario-con-mail/
Y verás que es facil, deberás cambiar la estructura de mi formulario por el tuyo y tener en cuenta los nombre de los input a la hora de enviar las variables.
Saludos!
Junio 4th, 2010 at 1:41 am
hola nataly me podrias ayudar a hacer esto del envio de mensajes soy nuevo porfa mi correo es yeriko_0022@hotmail.com gracias de antemano saludos desde c