Como enviar un mail con PHP (I) Un mail simple

En esta serie de entradas vamos a aprender a enviar un mail desde nuestra web utilizando la función mail().

La idea es que podamos crear un script que nos funcione de forma sencilla en todas nuestras webs.

En principio vamos a utilizar tan solo esta función para que veamos como funciona, en las siguientes entradas iremos viendo como hacer que nuestro mail recibido tenga muchos más argumentos y sea más agradable a la vista.

La función mail() funciona de la siguiente forma:

mail(email_del_receptor, asunto, mensaje , cabeceras)

Los parámetros de esta función pueden ser strings, como veremos en este ejemplo, variables o matrices, como iremos viendo en las siguientes entradas.

Nota: No voy a explicar como configurar un servidor local para que se envíen los correos electrónicos, y vamos a considerar que estos scripts están colgados ya en la red, desde servidores externos, desde donde se han probado.

Aunque los datos del mail se pueden poner desde el propio código, esto mantiene muy poca comunicación con el usuario, de modo que vamos a crear primero un código HTML con un formulario para que este envie nuestro mensaje a PHP y finalmente este lo recoja y lo envié a nuestro correo electrónico.

Código HTML:

<html>
<head>
 <title>
  Envío de correo electrónico
 </title>
</head>
<body>
 <h1>Envío de correo electrónico</h1>
 <form method="post" action="basico.php">
  Escriba sus comentarios y haga clic en Enviar:
  <textarea name="message" cols="50" rows="5"></textarea>
  <input type="submit" value="Enviar">
 </form>
<body>
</html>

Como vemos este formulario no deja de ser tan solo un formulario con un textarea y un botón de enviar, sin ningún adorno ni floritura, y que envía el mensaje al script basico.php, cuyo código es:

<html>
<head>
 <title>
  Se envió su correo electrónico
 </title>
</head>
<body>
 <h1>Se envió su correo electrónico</h1>
 Gracias por su mensaje.
 <?php
  mail("direcciónEmail", "Web mail", $_REQUEST["message"]);
 ?>
<body>
</html>

Donde pone direcciónEmail tiene que ir el correo electrónico donde queremos que se envíe el mail, de este modo cuando escribimos un mensaje y clickamos a enviar, nos llega el correo.

En asunto queda fijo el  string “Web mail” y en el mensaje se recoge el mensaje escrito en el formulario.

En este caso no hemos recogido cabeceras, ya que este parámetro es opcional.

De esta forma tan sencilla ya tenemos un formulario que envia mails, aunque lo iremos mejorando en las siguientes entradas de esta serie.