PHPMailer es una biblioteca de php para enviar correos electrónicos de forma segura y fácil a través de un código PHP desde un servidor web..
Estas son algunas de las funciones que trae son:
- Envíos a varios remitentes, con CC, CCO, etc.
- Soporta 8bits, base64 y binarios
- Autenticación por SMTP en puertos 25 sin encriptar, 587 TLS, 465 SSL
- Envíos con HTML
- Envíos de emails con adjuntos
- Inclusión de imágenes en el correo, etc
Lo primero de todo es cargar los archivos de la librería:
include_once ($RutaServidor.$HostNombre. "/lib/PHPMailer/src/PHPMailer.php");
include_once ($RutaServidor.$HostNombre. "/lib/PHPMailer/src/Exception.php");
include_once ($RutaServidor.$HostNombre. "/lib/PHPMailer/src/SMTP.php");
A continuación cargar la clase:
$mail=new PHPMailer\PHPMailer\PHPMailer(true);
Despues configuramos el correo:
$mail->isSMTP(); //Marcamos que queremos envio por SMTP
$mail->SMTPDebug = 0;//no mostramos el mensaje de salida
$mail->Host="hostEnvio";//host del servidor de envío
$mail->Port="puerto";//puerto del servidor smtp
$mail->SMTPAuth = true;//Utilizamos la autentificación de smtp
$mail->SMTPSecure = 'ssl';//Conexión segura
$mail->Username ="nombre";//Nombre de usuario
$mail->Password="password";//Contraseña del servidor
$mail->setFrom("correo", "nombre");//Cuenta de la que vamos a enviar el correo y nombre que queremos que salga en el correo
$mail->addAddress("correo", '');//A quien le vamos a enviar el correo
$mail->Subject ="asunto";//Asunto del correo
$mail->Body = "mensaje";//Mensaje del correo
$mail->smtpClose();//Cerramos la conexion
if (!$mail->send()) { //Enviamos el correo y hacemos la comprobación de errores
$respuesta['mail']=false;
$respuesta['error']=$mail->ErrorInfo;
} else {
//Si todo va bien podemos seguir realizando acciones
$respuesta['mail']=true;
}
Fuentes:
https://www.comalis.com/ayuda/envio-correos-php-smtp-phpmailer