Cómo enviar correo electrónico usando la función PHP mail ()

¿Qué es el correo PHP?

El correo PHP es la función PHP incorporada que se utiliza para enviar correos electrónicos desde scripts PHP.

La función de correo acepta los siguientes parámetros;

  • Dirección de correo electrónico
  • Sujeto
  • Mensaje
  • Direcciones de correo electrónico CC o BC
    • Es una forma rentable de notificar a los usuarios sobre eventos importantes.
    • Permita que los usuarios se comuniquen con usted por correo electrónico proporcionando un formulario de contacto en el sitio web que envía por correo electrónico el contenido proporcionado.
    • Los desarrolladores pueden usarlo para recibir errores del sistema por correo electrónico
    • Puede usarlo para enviar correos electrónicos a los suscriptores del boletín.
    • Puede usarlo para enviar enlaces de restablecimiento de contraseña a los usuarios que olvidan sus contraseñas
    • Puede usarlo para enviar enlaces de activación / confirmación por correo electrónico. Esto es útil al registrar usuarios y verificar sus direcciones de correo electrónico.

En este tutorial, aprenderá:

  • Por qué / cuándo usar el correo PHP
  • Protocolo simple de transmisión de correo
  • Desinfectar las entradas de los usuarios de correo electrónico
  • Correo seguro

Por qué / cuándo usar el correo PHP

Enviar correo usando PHP

La función de correo PHP tiene la siguiente sintaxis básica


AQUÍ,

  • "$ To_email_address" es la dirección de correo electrónico del destinatario del correo
  • "$ Asunto" es el asunto del correo electrónico
  • "$ Message" es el mensaje que se enviará.
  • "[$ Encabezados]" es opcional, se puede usar para incluir información como CC, CCO
    • CC es el acrónimo de copia carbón. Se utiliza cuando desea enviar una copia a una persona interesada, es decir, un correo electrónico de queja enviado a una empresa también se puede enviar como CC a la junta de quejas.
    • BCC es el acrónimo de copia al carbón oculta. Es similar a CC. Las direcciones de correo electrónico incluidas en la sección CCO no se mostrarán a los demás destinatarios.

Protocolo simple de transmisión de correo (SMTP)

El programa de correo PHP utiliza el Protocolo simple de transmisión de correo (SMTP) para enviar correo.

En un servidor alojado, la configuración de SMTP ya se habría establecido.

La configuración del correo SMTP se puede configurar desde el archivo "php.ini" en la carpeta de instalación de PHP.

Configurando los ajustes de SMTP en su localhost Suponiendo que está usando xampp en Windows, ubique el "php.ini" en el directorio "C: \ xampp \ php".

  • Ábralo usando el bloc de notas o cualquier editor de texto. Usaremos el bloc de notas en este ejemplo. Haga clic en el menú de edición

  • Haga clic en el menú Buscar ...

  • Aparecerá el menú de diálogo de búsqueda.

  • Haga clic en el botón Buscar siguiente

  • Localiza las entradas
    • [función de correo]
    • ; XAMPP: no elimine la semicolumna si desea trabajar con un servidor SMTP como Mercury
    • ; SMTP = localhost
    • ; smtp_port = 25
    • Elimine el punto y coma antes de SMTP y smtp_port y configure el SMTP en su servidor smtp y el puerto en su puerto smtp. Su configuración debe verse de la siguiente manera
      • SMTP = smtp.example.com
      • smtp_port = 25
      • Tenga en cuenta que la configuración de SMTP se puede obtener de sus proveedores de alojamiento web.
      • Si el servidor requiere autenticación, agregue las siguientes líneas.
        • auth_username = Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo.
        • auth_password = contraseña_ejemplo
        • Guarde los nuevos cambios.
        • Reinicie el servidor Apache.

Ejemplo de correo php

Veamos ahora un ejemplo que envía un correo simple.


Producción:

Nota: el ejemplo anterior solo toma los 4 parámetros obligatorios.

Debe reemplazar la dirección de correo electrónico ficticia anterior con una dirección de correo electrónico real.

Desinfectar las entradas de los usuarios de correo electrónico

El ejemplo anterior utiliza valores codificados en el código fuente para la dirección de correo electrónico y otros detalles para simplificar.

Supongamos que tiene que crear un formulario de contacto para que los usuarios completen los detalles y luego lo envíen.

  • Los usuarios pueden inyectar código accidental o intencionalmente en los encabezados, lo que puede resultar en el envío de correo no deseado.
  • Para proteger su sistema de tales ataques, puede crear una función personalizada que desinfecte y valide los valores antes de que se envíe el correo.

Creemos una función personalizada que valide y desinfecte la dirección de correo electrónico utilizando la función incorporada filter_var.

Función Filter_var La función filter_var se utiliza para desinfectar y validar los datos de entrada del usuario.

Tiene la siguiente sintaxis básica.


AQUÍ,

  • "Filter_var (...)" es la función de validación y desinfección
  • "$ Campo" es el valor del campo que se filtrará.
  • "TIPO DE SANITIZACIÓN" es el tipo de desinfección que se realizará en el campo, como;
    • FILTER_VALIDATE_EMAIL : devuelve verdadero para direcciones de correo electrónico válidas y falso para direcciones de correo electrónico no válidas.
    • FILTER_SANITIZE_EMAIL : elimina los caracteres ilegales de las direcciones de correo electrónico. info \ @dominio. (com) devuelve Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo ...
    • FILTER_SANITIZE_URL : elimina los caracteres ilegales de las URL. http: //[email protected]é devuelve> http: //[email protected]
    • FILTER_SANITIZE_STRING : elimina las etiquetas de los valores de cadena. soy negrita se convierte en soy negrita.

El siguiente código implementa utiliza una función personalizada para enviar correo seguro.


Producción:

Correo seguro

Los correos electrónicos pueden ser interceptados durante la transmisión por destinatarios no deseados.

Esto puede exponer el contenido del correo electrónico a destinatarios no deseados.

El correo seguro resuelve este problema mediante la transmisión de correos electrónicos a través del protocolo seguro de transferencia de hipertexto (HTTPS).

HTTPS cifra los mensajes antes de enviarlos.

Resumen

  • La función integrada de PHP mail () se utiliza para enviar correo desde scripts PHP
  • Las comprobaciones de validación y desinfección de los datos son esenciales para enviar correo seguro
  • La función PHP incorporada filter_var () proporciona una forma eficiente y fácil de usar de realizar la desinfección y validación de datos

Articulos interesantes...