Ir al contenido principal

Función mail de PHP; funcionamiento, uso y recomendaciones


Función mail() de PHP

PHP permite enviar correos de forma muy sencilla usando la función mail(), con esta no requeriría más que una línea de código realizar envíos desde nuestra aplicación:
mail('email@destino.com', 'Título email', 'Mensaje');

Problemas generados por el uso de mail()

No obstante en su sencillez (la cual viene de los inicios del desarrollo del lenguaje de PHP) radica su principal problema.
A día de hoy el envío de SPAM (correo no deseado) es probablemente uno de los mayores problemas en la red y combatirlo se ha convertido en la lucha personal de todos los proveedores de correo, en esta tarea la función mail no es de demasiada ayuda.
Esta función permite de forma sencilla enviar correos falsificando el remitente del mensaje, de forma que se podría enviar un correo a un destinatario desde cualquier dirección que especifiquemos aunque no sea de nuestra propiedad.
Este funcionamiento que carece de cualquier tipo de veracidad hizo que los proveedores de correo establezcan determinados mecanismos para verificar que los correos son legítimos, para ello se requieren (entre otras cosas) una seríe de datos ocultos en las cabeceras de los correos enviados los cuales no son añadidos cuando se utiliza esta función.
En consecuencia, la mayoría de correos enviados por esta vía son clasificados como correo no deseado.
Tanto en desarrollos propios como en aplicaciones existentes (Wordpress, Joomla o Drupal), el uso de la función mail aparece como método de envío por defecto, no es una mala práctica si únicamente se enviarán notificaciones a uno mismo, pero cuando el correo se convierte en una prioridad (por ejemplo una tienda online que notifica los pedidos a los usuarios), el uso de este método debe ser descartado.

Correos enviados bajo autenticación SMTP

La alternativa es el envío de correos bajo autenticación SMTP, tendrías una cuenta de correo real, creada en cPanel, y esta se usaría para realizar el envío de correos desde la app de forma que esta conecta con el usuario y contraseña a dicha cuenta y la usa para el envío, realizando de esta forma un envío seguro y fiable.
Esto puede sonar complejo, no obstante la mayoría de aplicaciones ya cuenta con esta implementación, por ejemplo en el caso de Joomla simplemente se debe cambiar en las opciones para que use SMTP e indicar el usuario (cuenta de correo) y contraseña del correo que queremos usar para que realice los envíos.
En el caso de Wordpress simplemente tendríamos que instalar un plugin que implemente esta función, existen decenas, por ejemplo Easy WP SMTP.
Y para desarrollos propios tendríamos una librería que a día de hoy es prácticamente un estandar en el envío de correos, phpMailer

Comentarios

Entradas famosas

Cómo particionar un disco duro en Windows usando herramientas integradas del sistema

¿Qué es una partición de disco? Una partición es una división lógica de un disco duro físico. Cada partición funciona como si fuera un disco independiente: puede tener su propia letra (C:, D:, E:), sistema de archivos y propósito. Ejemplos de uso comunes: Separar Windows de documentos personales Crear una partición exclusiva para respaldos Organizar información por áreas (trabajo, multimedia, proyectos) Antes de comenzar: recomendaciones importantes Antes de modificar particiones, ten en cuenta lo siguiente: 🔒 Haz copia de seguridad de la información importante ⚡ Evita realizar el proceso durante cortes de energía 🛑 No interrumpas el proceso una vez iniciado 💾 Asegúrate de tener espacio libre suficiente en el disco Aunque Windows es bastante seguro en este proceso, cualquier cambio en discos conlleva riesgos. Herramienta principal: Administración de discos Windows incluye la herramienta Administración de discos , que permite: Reducir volúmenes ...

Planillas de solicitud para la linea CANTV

Dejo la planilla de solicitud de linea telefónicas CANTV, deben imprimirla en una hoja y doblar en forma de triptico, luego rellenar todos los datos sin dejar tachaduras y despues llevarlo a un Centro CANTV de su preferencia. Clic aquí para descargar la planilla en MEGA:  http://sh.st/dHbGR Clic en saltar publicidad. RECOMENDACION: Como solicitar ABA de CANTV de forma rapida y segura , visita la web: http://adf.ly/rWKAu NOTA : POR FAVOR, EN LOS COMENTARIOS DE ESTE BLOG, NO DEN SU TELEFONO Y/O DIRECCIÓN DE HABITACIÓN YA QUE SE PRESTA PARA FRAUDES. HAGO REFERENCIA A ESTO YA QUE HAY GENTE COBRANDO POR INSTALACIÓN DE LINEAS O PARA AGILIZAR EL PROCESO DE ADQUISICIÓN DE LA MISMA, NO SE DEJEN ENGAÑAR!.

Ejercicio de Simulación de Colas (Java)

El siguiente programa simula el funcionamiento de una cola simple a la que los elementos llegan de forma aleatoria y son atendidos durante un tiempo de servicio también aleatorio. Para hacer esto se ha creado la clase Elemento , que contiene tres variables miembro: creado , en la que se almacena el instante de tiempo en la que el elemento llega a la cola; inicioProceso , en la que se almacena el instante de tiempo en la que se comienza a atender a ese elemento y tiempoProceso que es el tiempo que dura la atención del elemento. Esta clase Elemento tiene dos funciones miembro: un constructor que genera aleatoriamente elementos y una función, llamada Dibujar que representa gráficamente la vida del elemento en el sistema. Para ello se dibuja un rectángulo (un punto gordo) al llegar el elemento a la cola, una línea inclinada cuya dimensión horizontal representa el tiempo de espera del elemento en la cola y un rectángulo horizontal que representa el tiempo de servicio del elemento. Para ...