Programación en PHP/Mail

De Wikilibros, la colección de libros de texto de contenido libre.
Ir a la navegación Ir a la búsqueda

PHP proporciona una forma fácil de enviar emails mediante la función mail(), cabe mencionar que no es recomendable usar dicha función para el envío de correo masivo (esto es debido a que abre un socket nuevo por cada email a enviar).

 1 <?php
 2     # Este es un ejemplo completamente funcional de como enviar un email usando
 3     # la función 'mail'.
 4 
 5     $data = "Asunto: {$_POST['asunto']}\r\n
 6         De: {$_POST['apellidos-y-nombres']}\r\n
 7         {$_POST['tipo-documento']}: {$_POST['nro-documento']}\r\n
 8         {$_POST['correo']}\r\n\r\n";
 9     $para      = 'miemail@gmail.com';
10     $titulo    = trim($_POST['asunto']);
11     
12     # El texto del mensaje no debe tener más de 70 caracteres de largo, por lo
13     # que se debe usar la función "wordwrap", que recorta los caracteres a 60 y
14     # realiza un retorno de carro.
15     $mensaje   = $data . wordwrap(trim($_POST['mensaje']), 60, "\r\n");
16     
17     # Las cabeceras adicionales se agregan como cuarto parámetro, esto es
18     # opcional a excepción del 'From', el cual es requerido por algunos servidores
19     # de correo como 'Google Mail'.
20     $cabeceras = 'From: ' . trim($_POST['correo']) . "\r\n" .
21         'X-Mailer: PHP/' . phpversion();
22 
23     # Si el email no se envía se producirá una excepción que no se puede
24     # capturar (por ejemplo un error de conexión), por lo que se usa el '@'
25     # para deshabilitar dichos errores y así poder controlar mejor los
26     # mensajes para el estado de envío del email.
27     if (@mail($para, $titulo, $mensaje, $cabeceras))
28         echo 'Correo enviado.';
29     else
30         echo 'No se pudo enviar el correo.';
31 ?>