¿Qué es y para que sirve PHPMailer?
En algunos servidores no está disponible la función mail() de PHP. Esta función es cada vez más habitual que esté desactivada en los servidores como medida de seguridad. Normalmente se desactiva por protección contra SPAM, mail spoofing y proxy mail server.
En caso de que cualquiera de las webs alojadas sea vulnerada por un usuario malintencionado, se evitan los riesgos mencionados.
La librería de PHPMailer
La librería PHPMailer nos permite, entre otras funcionalidades, establecer una conexión SMTP con un servidor de correo. Este servidor SMTP será quién envíe realmente nuestro correo electrónico.
La web oficial del proyecto en GitHub contiene la documentación con las opciones de instalación y configuración. Enlace a Github: https://github.com/PHPMailer/PHPMailer

Instalación manual de PHPMailer
1.- Descargá la librería de https://github.com/PHPMailer/PHPMailer, clic al botón verde de “Clone or download” y “Download ZIP”
2.- Descomprimí el fichero descargado “PHPMailer-master.zip” y renombrá el directorio PHPMailer-master por PHPMailer
3.- Copiá el directorio PHPMailer dentro de nuestro proyecto.
Para verificar que las rutas son correctas, debería existir desde la raíz de nuestro proyecto: /PHPMailer/src/PHPMailer.php

Ejemplo simple de configuración
1.- Guardá el siguiente código en un fichero ejemplo.php
// Some code<?php
// Mostrar errores PHP (Desactivar en producción)
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
// Incluir la libreria PHPMailer
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\SMTP;
require 'PHPMailer/src/Exception.php';
require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';
// Inicio
$mail = new PHPMailer(true);
try {
// Configuracion SMTP
$mail->SMTPDebug = SMTP::DEBUG_SERVER; // Mostrar salida (Desactivar en producción)
$mail->isSMTP(); // Activar envio SMTP
$mail->Host = 'CONFIGURAR_SERVIDOR_SMTP'; // Servidor SMTP
$mail->SMTPAuth = true; // Identificacion SMTP
$mail->Username = 'CONFIGURAR_USUARIO_SMTP'; // Usuario SMTP
$mail->Password = 'CONFIGURAR_CONTRASEÑA_SMTP'; // Contraseña SMTP
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
$mail->setFrom('hola@prueba.com', 'Tu nombre'); // Remitente del correo
// Destinatarios
$mail->addAddress('prueba@midominio.com', 'Nombre del destinario'); // Email y nombre del destinatario
// Contenido del correo
$mail->isHTML(true);
$mail->Subject = 'Asunto del correo';
$mail->Body = 'Contenido del correo <b>en HTML!</b>';
$mail->AltBody = 'Contenido del correo en texto plano para los clientes de correo que no soporten HTML';
$mail->send();
echo 'El mensaje se ha enviado';
} catch (Exception $e) {
echo "El mensaje no se ha enviado. Mailer Error: {$mail->ErrorInfo}";
}
2.- Modificá los parámetros de conexión, el e-mail del remitente y del destinatario donde enviáremos nuestro correo de prueba.
3.- Subí por FTP o, utilizando el Administrador de Archivos de cPanel, el directorio PHPMailer y el fichero ejemplo.php a la raíz del directorio público (public_html).
4.- Ejecutá el ejemplo desde https://tudominio.com/ejemplo.php.\ Nos mostrará el debug del proceso y, si todo ha ido bien, habremos recibido el correo electrónico. Si muestra algún error, ya sea de PHP o de conexión SMTP, deberemos depurar el origen del problema.
En producción, recordá desactivar el debug de errores PHP y SMTP