18

PHP: función mail() al detalle

3 de Junio de 2008 | Etiquetas: , , | Categoría: Formularios, PHP

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

Articulos relacionados

Esta entrada se escribió el Martes, Junio 3rd, 2008 at 10:12 am bajo la categoría Formularios, PHP. Puedes suscribirte a los comentarios de esta entrada gracias al RSS feed. Puedes comentar, o realizar un trackback desde tu web.

18 Responses to “PHP: función mail() al detalle”

  1. 1
    AzRi3L Says:

    muy interesante ;) por cierto no se que has tocado del RSS pero no me gusta como lo has dejado… :P

  2. 2
    nnatali Says:

    ui.. que le pasa? yo no he tocado ná :/

  3. 3
    KarQ Says:

    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 ;)

  4. 4
    nnatali Says:

    ups! muchas gracias por la corrección pepe, te mereces una miniestatua :D
    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

  5. 5
    KarQ Says:

    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 ;)

  6. 6
    KarQ Says:

    vaya, no conté conque esto admite html :S

    supongo que tú podrás arreglarlo.

  7. 7
    nnatali Says:

    arreglao :P
    muchas gracias por tu miniguia! viene bien tenerla a mano cuando no sabes porque te falla algo (aunque sea descartas una posibilidad xD) :D

  8. 8
    Nebiros Says:

    ¡Excelente!

    Muchas gracias por la ayuda

  9. 9
    nnatali Says:

    Hola Nebiros!
    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 :D saludos!!

  10. 10
    ulises Says:

    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……

  11. 11
    nnatali Says:

    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!

  12. 12
    julian Says:

    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 :D

    jejeje

    adios! y chauu

  13. 13
    nnatali Says:

    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 :)

  14. 14
    king Says:

    hola será una prueba

  15. 15
    Formularios: Enviar Array de un select multiple | Jugando entre diseñadores Says:

    [...] vez tenemos nuestro select, pasamos a enviar los datos a través de la función mail() a nuestra dirección de [...]

  16. 16
    Luis Edgar Says:

    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!

  17. 17
    nnatali Says:

    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!

  18. 18
    yeriko Says:

    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

Leave a Reply