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

¿Qué es un trabajo 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 trabajo asume 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 informar a los usuarios sobre eventos importantes.
    • Permita que los usuarios se comuniquen con usted por correo electrónico proporcionándonos un formulario de contacto en el sitio web que envía un correo electrónico al 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 electrónico PHP

Enviar correo electrónico usando PHP

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

<?php
mail($to_email_address,$subject,$message,[$headers],[$parameters]);
?>

AQUÍ,

  • La dirección de correo electrónico del destinatario es «$ to_email_address»
  • El asunto del correo electrónico es «$ asunto».
  • El mensaje que se enviará es «$ mensaje».
  • «[$headers]Es opcional, se puede utilizar para incluir información como CC, BCC
    • 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 puede enviarse a CC a la junta de quejas.
    • BCC es el acrónimo de copia al carbón oculta. Es como 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 postal (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 estaría establecida.

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

Configure los ajustes de SMTP en su hogar local 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
  • Aparecerá el menú de diálogo de búsqueda.
  • Haga clic en el botón Buscar siguiente
  • Encuentra las entradas
    • [mail function]
    • ; XAMPP: No elimine el punto y coma si desea trabajar con un servidor SMTP como Mercury
    • ; SMTP = localhost
    • ; smtp_port = 25
    • Quite 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
      • Nota 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.
        • Empezar de nuevo apache servidor.

Ejemplo de correo php

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

<?php     
$to_email="name @ company . com";
$subject="Testing PHP Mail";
$message="This mail is sent using the PHP mail function";
$headers="From: noreply @ company . com";
mail($to_email,$subject,$message,$headers);
?>

Producción:

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

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

Santificar 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 datos para simplificar.

Suponemos que debe crear un formulario de contacto para que los usuarios completen los detalles y luego los envíen.

  • Los usuarios pueden inyectar código accidental o deliberadamente en los encabezados que pueden 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 enviar el correo.

Creamos una función personalizada que valida y asegura la dirección de correo electrónico utilizando la función filter_var incorporada.

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.

<?php
filter_var($field, SANITIZATION TYPE);
?>

AQUÍ,

  • La función de validación y saneamiento es «filter_var (…)»
  • El valor del campo a filtrar es «$ campo».
  • “TIPO ESPECÍFICO” es el tipo de saneamiento a realizar en el campo como;
    • FILTER_VALIDATE_EMAIL – verdadero para direcciones de correo electrónico válidas y falso para direcciones de correo electrónico no válidas.
    • FILTER_SANITIZE_EMAIL – los caracteres ilegales se eliminan de las direcciones de correo electrónico. devuelve info @domain. (com) Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo..
    • FILTER_SANITIZE_URL – Las URL se eliminan de los caracteres ilegales. http: //www.example@.comé devuelve> http: //www.example@.com
    • FILTER_SANITIZE_STRING – las etiquetas se eliminan de los valores de los cables. Sube soy atrevido trom.

El siguiente código utiliza herramientas personalizadas para enviar correo seguro.

<?php 
function sanitize_my_email($field) {
    $field = filter_var($field, FILTER_SANITIZE_EMAIL);
    if (filter_var($field, FILTER_VALIDATE_EMAIL)) {
        return true;
    } else {
        return false;
    }
}
$to_email="name @ company . com";
$subject="Testing PHP Mail";
$message="This mail is sent using the PHP mail ";
$headers="From: noreply @ company. com";
//check if the email address is invalid $secure_check
$secure_check = sanitize_my_email($to_email);
if ($secure_check == false) {
    echo "Invalid input";
} else { //send email 
    mail($to_email, $subject, $message, $headers);
    echo "This email is sent using PHP Mail";
}
?>

Producción:

Correo electrónico seguro

Los correos electrónicos se pueden interceptar durante las referencias de 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 incorporada de PHP post () se usa para enviar correo desde scripts PHP
  • Los controles de validación y saneamiento de los datos son necesarios para enviar un correo seguro
  • La función PHP filter_var () incorporada proporciona una forma eficiente y fácil de usar de realizar el saneamiento y la validación de datos

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Salir de la versión móvil