Cómo enviar correo electrónicomail usando PHP mail() Función

Que es PHP mail?

PHP mail es la función PHP incorporada que se utiliza para enviar emails de scripts PHP.

El mail la función acepta lo siguientewing parámetros:

  • Dirección de correo electrónico
  • Asunto
  • Mensaje
  • CC o BC mimail direcciones

  • Es una forma rentable de notificar a los usuarios sobre eventos importantes.
  • Permita que los usuarios se comuniquen con usted a través de correo electrónicomail proporcionando un formulario de contacto en el sitio web que emails el contenido proporcionado.
  • Los desarrolladores pueden usarlo para recibir errores del sistema por correo electrónico.mail
  • Puedes usarlo para email sus suscriptores al boletín.
  • Puede usarlo para enviar enlaces de restablecimiento de contraseña a los usuarios que olvidan sus contraseñas.
  • Puedes usarlo para email enlaces de activación/confirmación. Esto es útil al registrar usuarios y verificar su email direcciones

¿Por qué/cuándo utilizar el mail PHP

Enviando mail usando PHP

El PHP mail la función tiene la siguientewing sintaxis básica

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

AQUÍ,

  • “$to_email_dirección” es la email dirección del mail beneficiario
  • “$sujeto” es el email sujeto
  • “$message” es el mensaje a enviar.
  • “[$headers]” es opcional, se puede utilizar para incluir información como CC, BCC

    • CC es el acrónimo de copia al carbón. Se utiliza cuando se desea enviar una copia a una persona interesada, es decir, una queja email enviado a una empresa también se puede enviar como CC a la junta de quejas.
    • BCC es el acrónimo de copia oculta. Es similar a CC. El email Las direcciones incluidas en la sección CCO no se mostrarán a los demás destinatarios.

Simple Mail Transmission Protocolo (SMTP)

PHP mailer usa Simple Mail Transmission Protocolo (SMTP) para enviar mail.

En un servidor alojado, la configuración SMTP ya estaría configurada.

El SMTP mail Los ajustes se pueden configurar desde el archivo “php.ini” en la carpeta de instalación de PHP.

Configurar los ajustes SMTP en su host local Suponiendo que esté usando xampp en windows, ubique “php.ini” en el directorio “C:\xampp\php”.

  • Ábrelo usando el bloc de notas o cualquier editor de texto. Usaremos el bloc de notas en este ejemplo. Haga clic en el menú editar

Simple Mail Transmission Protocolo

  • Haga clic en el menú Buscar...

Simple Mail Transmission Protocolo

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

Simple Mail Transmission Protocolo

  • Haga clic en el botón Buscar siguiente

Simple Mail Transmission Protocolo

  • Localiza las entradas

    • [mail función]
    • ; XAMPP: No elimine la semicolumna si desea trabajar con un servidor SMTP como Mercury
    • ; SMTP = servidor local
    • ; puerto_smtp = 25
    • Elimine los puntos y coma antes de SMTP y smtp_port y configure SMTP en su servidor smtp y el puerto a su puerto smtp. Su configuración debería verse de la siguiente manera

      • SMTP = smtp.ejemplo.com
      • puerto_smtp = 25
      • Note La configuración SMTP se puede obtener de sus proveedores de alojamiento web.
      • Si el servidor requiere autenticación, agregue lo siguientewing líneas.

        • nombre_usuario_autenticación = nombre_usuario_ejemplo@ejemplo.com
        • contraseña_autenticación = contraseña_ejemplo
        • Guarde los nuevos cambios.
        • Reanudar APACHE servidor.

PHP Mail Ejemplo

Veamos ahora un ejemplo que envía un mensaje simple mail.

<?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);
?>

Salida:

Simple Mail Transmission Protocolo

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

Deberías reemplazar el e ficticio anterior.mail dirección con e realmail dirección.

Desinfectante email entradas del usuario

El ejemplo anterior utiliza valores codificados en el código fuente para el email dirección y otros details por simplicidad.

Supongamos que tiene que crear un formulario de contacto para que los usuarios completen el formulario de contacto.tails y luego enviar.

  • Los usuarios pueden inyectar código de forma accidental o intencionada en los encabezados, lo que puede provocar el envío de spam. mail
  • Para proteger su sistema de tales ataques, puede crear una función personalizada que desinfecte y valide los valores antes de que mail se ha enviado.

Creemos una función personalizada que valide y desinfecte el email dirección usando la función integrada filter_var.

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

tiene el siguientewing sintaxis básica.

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

AQUÍ,

  • “filter_var(…)” es la función de validación y desinfección
  • “$campo” es el valor del campo a filtrar.
  • “TIPO DE SANITIZACIÓN” es el tipo de sanitización que se realizará en el campo como por ejemplo;

    • FILTER_VALIDATE_EMAIL – devuelve verdadero para e válidomail direcciones y falso para e inválidomail Direcciones.
    • FILTER_SANITIZE_EMAIL – elimina caracteres ilegales de email direcciones. info\@dominio.(com) devuelve info@dominio.com.
    • FILTER_SANITIZE_URL – elimina caracteres ilegales de las URL. http://www.ejemplo@.comé devuelve >http://www.ejemplo@.com
    • FILTER_SANITIZE_STRING – elimina etiquetas de valores de cadena. estoy en negrita se convierte en estoy en negrita.

El siguiente código implementa utiliza una función personalizada para enviar mensajes seguros mail.

<?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";
}
?>

Salida:

Desinfectante email entradas del usuario

Seguro Mail

Emails pueden ser interceptados durante transmission por destinatarios no deseados.

Esto puede exponer el contenido del email a destinatarios no deseados.

Seguro mail resuelve este problema transmitiendo emails a través del Protocolo seguro de transferencia de hipertexto (HTTPS).

HTTPS cifra los mensajes antes de enviarlos.

Resumen

  • El PHP función incorporada mail() se utiliza para enviar mail de scripts PHP
  • Los controles de validación y desinfección de los datos son esenciales para enviar datos seguros. mail
  • La función PHP integrada filter_var() proporciona una manera eficiente y fácil de usar de realizar la desinfección y validación de datos.